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控件。

相关推荐
姜太公钓鲸23314 小时前
ROM就是程序存储器,实际的存储介质是Flash闪存。上述描述中的程序存储器是什么意思?
开发语言·javascript·ecmascript
Java后端的Ai之路15 小时前
【JDK】-JDK 21 新特性内容
java·开发语言·后端·jdk·jdk21
wjs202415 小时前
JavaScript 作用域
开发语言
m0_5312371715 小时前
C语言-指针终阶
c语言·开发语言
散峰而望16 小时前
C++ 启程:从历史到实战,揭开命名空间的神秘面纱
c语言·开发语言·数据结构·c++·算法·github·visual studio
易辰君16 小时前
【Python爬虫实战】正则:中文匹配与贪婪非贪婪模式详解
开发语言·爬虫·python
普通网友16 小时前
PHP语言的正则表达式
开发语言·后端·golang
黎雁·泠崖16 小时前
Java常用类核心详解(七):正则表达式 Regex 从入门到实战
java·开发语言·正则表达式
PingdiGuo_guo16 小时前
C++数据类型、变量常量
开发语言·c++
多恩Stone17 小时前
【C++ debug】在 VS Code 中无 Attach 调试 Python 调用的 C++ 扩展
开发语言·c++·python