C# ListView控件

创建一个 Windows 应用程序,将 ListView 控件的 View 属性设置为 SmallIcon ,然后使用 Groups 集合的 Add 方法创建两个分组,标题分别为 " 名称 " 和 " 类别 " ,排列方式为左对齐,最后向 ListView 控件中添加 6 项,然后设置每项的 Group 属性,将控件中的项进行分组;最后通过 3 个 Button 控件,分别实现向 ListView 控件添加、移除和清空项的功能。如下图所示:

private void Form1_Load(object sender, EventArgs e)

{

//设置listView1控件的View属性,设置样式

listView1.View = View.SmallIcon;

//为listView1建立两个组

listView1.Groups.Add(new ListViewGroup("名称", HorizontalAlignment.Left));

listView1.Groups.Add(new ListViewGroup("类别", HorizontalAlignment.Left));

//向控件中添加项目

listView1.Items.Add("明日科技");

listView1.Items.Add("C#编程词典");

listView1.Items.Add("视频学C#编程");

listView1.Items.Add("公司");

listView1.Items.Add("软件");

listView1.Items.Add("图书");

//将listView1控件中索引是0、1和2的项添加到第一个分组

listView1.Items0.Group = listView1.Groups0;

listView1.Items1.Group = listView1.Groups0;

listView1.Items2.Group = listView1.Groups0;

//将listView1控件中索引是3、4和5的项添加到第二个分组

listView1.Items3.Group = listView1.Groups1;

listView1.Items4.Group = listView1.Groups1;

listView1.Items5.Group = listView1.Groups1;

}

private void button1_Click(object sender, EventArgs e)

{

if (textBox1.Text == "")//判断文本框中是否输入数据

{

MessageBox.Show("项目不能为空");//如果没有输入数据则弹出提示

}

else

{

listView1.Items.Add(textBox1.Text.Trim());//使用Add方法向控件中添加数据

}

}

private void button2_Click(object sender, EventArgs e)

{

if (listView1.SelectedItems.Count == 0)//判断是否选择了要删除的项

{

MessageBox.Show("请选择要删除的项");//如果没有选择弹出提示

}

else

{

//使用RemoveAt方法移除选择的项目

listView1.Items.RemoveAt(listView1.SelectedItems0.Index);

listView1.SelectedItems.Clear();//取消控件的选择

}

}

private void button3_Click(object sender, EventArgs e)

{

if (listView1.Items.Count == 0)//判断控件中是否存在项目

{

MessageBox.Show("项目中已经没有项目");//如果没有项目弹出提示

}

else

{

listView1.Items.Clear();//使用Clear方法移除所有项目

}

}

ListView是一种列表控件,在实现诸如显示文件详细信息这样的功能时,推荐使用该控件;另外,由于ListView有多种显示样式,因此在实现类似Windows系统的"缩略图"、"平铺"、"图标"、"列表"和"详细信息"等功能时,经常需要使用ListView控件。

相关推荐
chenbingjie_c6 小时前
C++ 进阶核心知识点总结:模板、内存分区、new/delete、内存池
开发语言·c++
Escalating_xu7 小时前
【C 语言】深入理解指针(1·下):指针运算、野指针、assert 与传址实战
java·c语言·开发语言
实心儿儿7 小时前
Qt — Qt 事件
开发语言·qt
周杰偷奶茶8 小时前
【Java】数据类型与变量
java·开发语言
code斗8 小时前
Java数据结构:堆详解
java·开发语言·数据结构
重生之小比特8 小时前
【C++进阶】map和set
java·开发语言·c++
lie..8 小时前
30天从零开始学AI应用开发(Day 12):像产品一样稳:流式输出、报错重试、花钱控制
开发语言·人工智能·php
傻啦嘿哟8 小时前
Python的默认参数把我坑惨了,原来写[]和写None的区别这么大
开发语言·python·机器学习
DeepAgent9 小时前
AI Agent 工程实践(49):一次真实优化——从 Agent v1 到 v2
开发语言·人工智能·agent
知识分享小能手9 小时前
C++ 学习教程,从入门到精通,C++对象和类 — 详细知识点总结(10)
开发语言·c++·学习