当前位置:网站首页>C#控件ListView用法
C#控件ListView用法
2022-07-31 12:54:00 【黄昏和星空】
添加标题
显示网格
添加数据到表格中
自定义其他属性
结束
添加标题
在 Winfrom 界面中添加一个 ListView 组件,然后点击右上角的箭头,点击编辑列
添加下面标题,然后点击确定
此时 ListView 中还是一片空白,不能显示这些标题,在视图这里选择 Details
就会如下图所示,虽然标题出来了,内容确实一块白版,此时还是觉得 DataGridView 组件好用啊
显示网格
此时,表格只是一片空白,可以在属性面板中设置,显示网格,如下图
这时,就如下图所示,效果就出来了,但是里面还是缺点东西
添加数据到表格中
不会添加数据怎么办?直接从网上复制,如下:
private void Button_Test_Click(object sender, EventArgs e)
{
//数据更新,UI暂时挂起,直到EndUpdate绘制控件,可以有效避免闪烁并大大提高加载速度
this.listView1.BeginUpdate();
//添加5行数据
for (int i = 0; i < 5; i++)
{
ListViewItem lvi = new ListViewItem();
lvi.SubItems.Add(“第1列,第” + i + “行”);
lvi.SubItems.Add(“第2列,第” + i + “行”);
lvi.SubItems.Add(“第3列,第” + i + “行”);
lvi.SubItems.Add(“第4列,第” + i + “行”);
lvi.SubItems.Add(“第5列,第” + i + “行”);
this.listView1.Items.Add(lvi);
}
//结束数据处理,UI界面一次性绘制。
this.listView1.EndUpdate();
}
运行后,我们看看效果,what? 第一行序号居然没有数据,
断点看看,ListViewItem 数组索引 0 处居然是空的
找了一下资料,不知道怎么回事,但是我还是找到了解决方法:
private void Button_Test_Click(object sender, EventArgs e)
{
//数据更新,UI暂时挂起,直到EndUpdate绘制控件,可以有效避免闪烁并大大提高加载速度
listView1.BeginUpdate();
//添加5行数据
for (int i = 0; i < 5; i++)
{
int column = i + 1;
ListViewItem lvi = listView1.Items.Add(“第1列,第” + column + “行”);
lvi.SubItems.Add(“第2列,第” + column + “行”);
lvi.SubItems.Add(“第3列,第” + column + “行”);
lvi.SubItems.Add(“第4列,第” + column + “行”);
lvi.SubItems.Add(“第5列,第” + column + “行”);
}
//结束数据处理,UI界面一次性绘制。
listView1.EndUpdate();
}
这种写法看着非常的淡疼,暂时也没其他办法了
现在效果算是有了,但我想改变其中一个单元格的属性怎么办呢?
自定义其他属性
例1:改变背景颜色,和字体颜色
private void Button_Test_Click(object sender, EventArgs e)
{
//数据更新,UI暂时挂起,直到EndUpdate绘制控件,可以有效避免闪烁并大大提高加载速度
listView1.BeginUpdate();
//添加5行数据
for (int i = 0; i < 5; i++)
{
int column = i + 1;
ListViewItem lvi = listView1.Items.Add(“第1列,第” + column + “行”);
lvi.SubItems.Add(“第2列,第” + column + “行”);
lvi.SubItems.Add(“第3列,第” + column + “行”);
lvi.SubItems.Add(“第4列,第” + column + “行”);
lvi.SubItems.Add(“第5列,第” + column + “行”);
if (column % 2 == 0)
{
lvi.BackColor = Color.Red;
lvi.ForeColor = Color.White;
}
else
{
lvi.BackColor = Color.Green;
lvi.ForeColor = Color.Black;
}
}
//结束数据处理,UI界面一次性绘制。
listView1.EndUpdate();
}
效果:

其他的属性就不作演示了,写法差不多。
结束
边栏推荐
- PAT exam summary (exam experience)
- Encapsulation of conversion between Json and objects (Gson)
- AMBA APB学习记录(AMBA 3/4)
- ASM外部冗余是否可以替换磁盘
- 函数递归1.0
- 基于生物激励神经网络的室内实时激光SLAM控制方法
- 栈和队列的基本概念
- sqlalchemy determines whether a field of type array has at least one consistent data with an array
- CWE4.8 -- 2022年危害最大的25种软件安全问题
- 跨境电商小知识之跨境电商物流定义以及方式讲解
猜你喜欢

五种数据提交方式的优化

anaconda虚拟环境安装pytorch gpu版本

How does the SAP ABAP OData service support the $filter (filter) operation trial version

Exploring Plain Vision Transformer Backbones for Object Detection 论文阅读笔记

365天挑战LeetCode1000题——Day 044 最大层内元素和 层次遍历

PyQt5快速开发与实战 10.1 获取城市天气预报

2022年最新重庆建筑安全员模拟题库及答案

IDEA的database使用教程(使用mysql数据库)

跨境电商小知识之跨境电商物流定义以及方式讲解

小试牛刀—猜数字游戏
随机推荐
手撕Verilog PWM呼吸灯
matlab as(assert dominance)
SAP ABAP OData 服务如何支持 $filter (过滤)操作试读版
Anaconda安装labelImg图像标注软件
CentOS7 安装MySQL 图文详细教程
The cluster of safe mode
三相PWM整流器预测直接功率控制
Google Chrome(谷歌浏览器)安装使用
0x80070570 The file or directory is damaged and cannot be deleted (how to delete 0x80070091)
alert(1) (haozi.me)靶场练习
jmeter性能测试步骤入门(性能测试工具jmeter)
ERROR 1819 (HY000) Your password does not satisfy the current policy requirements
全局平均池化层替代全连接层(最大池化和平均池化的区别)
关于我放弃考研这件事儿
基本语法(一)
基于生物激励神经网络的室内实时激光SLAM控制方法
Three-Phase PWM Rectifier Predictive Direct Power Control
跨境电商小知识之跨境电商物流定义以及方式讲解
查看Oracle数据库的用户名和密码
centos7安装mysql5.7