C# ListView设置标题头背景颜色和字体颜色

一、向ListView 添加数据

复制代码
for (int i = 1; i < 5; i++)
{
    ListViewItem litem = new ListViewItem("data:"+i);
    lv_WarnList.Items.Add(litem);
}

如果需要在ListView中绑定实体类对象的话,需要将数据放在Tag属性里

复制代码
for (int i = 1; i < 5; i++) {
                AngleData angleData = new AngleData();
                angleData.angle = i;
                angleData.position = i*10;

                ListViewItem item = new ListViewItem(angleData.position+"");
                item.Name = angleData.angle+"";
                item.Tag = angleData; // 将实例存储在Tag属性中
                listView1.Items.Add(item);
            }

获取数据时,将Tag转换回自己的实体类对象就可以

复制代码
foreach (ListViewItem item in listView1.Items)
{
AngleData angleData = (AngleData)item.Tag; // 将Person实例存储在Tag属性中
Console.WriteLine("item.Text:"+item.Text);
Console.WriteLine("angleData:"+angleData);
}

二、设置ColumnHeader标题头颜色

1.设置OwnerDraw属性为true

2.为ListView添加DrawColumnHeader函数

复制代码
        private void lv_WarnList_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
        {
            // 绘制标头的背景色
            e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(16, 92, 164)), e.Bounds);
            // 绘制标头的文本
            e.Graphics.DrawString(e.Header.Text, e.Font, Brushes.White, e.Bounds);
        }

        private void lv_WarnList_DrawItem(object sender, DrawListViewItemEventArgs e)
        {
            e.DrawText();
        }

3.运行可以看到修改已经生效

三、设置ListView只显示一列,有多余数据时显示纵向滚动条

1.设置Columns属性里只添加一列,设置View属性为Details


2.设置Scrollable属性为true

相关推荐
Bl_a_ck2 分钟前
--openssl-legacy-provider is not allowed in NODE_OPTIONS 报错的处理方式
开发语言·前端·web安全·网络安全·前端框架·ssl
Auc2440 分钟前
OJ判题系统第6期之判题逻辑开发——设计思路、实现步骤、代码实现(策略模式)
java·开发语言·docker·容器·策略模式
向日葵xyz1 小时前
Qt5与现代OpenGL学习(十一)OpenGL Widget鼠标控制直线旋转
开发语言·qt·学习
智慧地球(AI·Earth)1 小时前
OpenAI for Countries:全球AI基础设施的“技术基建革命”
开发语言·人工智能·php
不学无术の码农1 小时前
《Effective Python》第1章 Pythonic 思维总结——编写优雅、高效的 Python 代码
开发语言·python
o0向阳而生0o1 小时前
42、在.NET 中能够将⾮静态的⽅法覆写成静态⽅法吗?
c#·.net
双叶8361 小时前
(C语言)超市管理系统(测试版)(指针)(数据结构)(二进制文件读写)
c语言·开发语言·数据结构·c++
PXM的算法星球1 小时前
使用CAS操作实现乐观锁的完整指南
开发语言
TDengine (老段)2 小时前
基于 TSBS 标准数据集下 TimescaleDB、InfluxDB 与 TDengine 性能对比测试报告
java·大数据·开发语言·数据库·时序数据库·tdengine·iotdb
rylshe13143 小时前
在scala中sparkSQL连接mysql并添加新数据
开发语言·mysql·scala