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.Items[0].Group = listView1.Groups[0];

listView1.Items[1].Group = listView1.Groups[0];

listView1.Items[2].Group = listView1.Groups[0];

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

listView1.Items[3].Group = listView1.Groups[1];

listView1.Items[4].Group = listView1.Groups[1];

listView1.Items[5].Group = listView1.Groups[1];

}

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.SelectedItems[0].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控件。

相关推荐
Zzz 小生2 分钟前
编程基础学习(一)-Python基础语法+数据结构+面向对象全解析
开发语言·python
沐知全栈开发25 分钟前
Bootstrap4 表格详解
开发语言
CryptoRzz36 分钟前
欧美(美股、加拿大股票、墨西哥股票)股票数据接口文档
java·服务器·开发语言·数据库·区块链
Never_Satisfied1 小时前
在JavaScript / HTML中,div容器在内容过多时不显示超出的部分
开发语言·javascript·html
艾莉丝努力练剑1 小时前
【C++STL :stack && queue (一) 】STL:stack与queue全解析|深入使用(附高频算法题详解)
linux·开发语言·数据结构·c++·算法
胡萝卜3.02 小时前
深入理解string底层:手写高效字符串类
开发语言·c++·学习·学习笔记·string类·string模拟实现
西柚小萌新2 小时前
【Python从入门到精通】--Pycharm增加内存
开发语言·python·pycharm
不爱编程的小九九2 小时前
小九源码-springboot082-java旅游攻略平台
java·开发语言·旅游
只是懒得想了2 小时前
用C++实现一个高效可扩展的行为树(Behavior Tree)框架
java·开发语言·c++·design-patterns
yan8626592462 小时前
于 C++ 的虚函数多态 和 模板方法模式 的结合
java·开发语言·算法