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

相关推荐
fox_lht4 分钟前
第一章 不可变的变量
开发语言·后端·rust
骁的小小站1 小时前
Verilator 和 GTKwave联合仿真
开发语言·c++·经验分享·笔记·学习·fpga开发
心灵宝贝3 小时前
申威架构ky10安装php-7.2.10.rpm详细步骤(国产麒麟系统64位)
开发语言·php
lly2024063 小时前
PHP 字符串操作详解
开发语言
像是套了虚弱散5 小时前
DevEco Studio与Web联合开发:打造鸿蒙混合应用的全景指南
开发语言·前端·华为·harmonyos·鸿蒙
旭意5 小时前
C++蓝桥杯之结构体10.15
开发语言·c++
麦麦鸡腿堡6 小时前
Java的单例设计模式-饿汉式
java·开发语言·设计模式
简单点了6 小时前
go前后端项目的启动 、打包和部署
开发语言·后端·golang
爱吃山竹的大肚肚6 小时前
@Valid校验 -(Spring 默认不支持直接校验 List<@Valid Entity>,需用包装类或手动校验。)
java·开发语言
汤姆yu6 小时前
2026版基于python的协同过滤音乐推荐系统
开发语言·python