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

相关推荐
2601_9491465310 分钟前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
曹牧16 分钟前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
KYGALYX22 分钟前
服务异步通信
开发语言·后端·微服务·ruby
zmzb010329 分钟前
C++课后习题训练记录Day98
开发语言·c++
懒人咖1 小时前
缺料分析时携带用料清单的二开字段
c#·金蝶云星空
猫头虎1 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
YUJIANYUE2 小时前
PHP纹路验证码
开发语言·php
仟濹2 小时前
【Java基础】多态 | 打卡day2
java·开发语言
孞㐑¥2 小时前
算法——BFS
开发语言·c++·经验分享·笔记·算法
Re.不晚2 小时前
JAVA进阶之路——无奖问答挑战2
java·开发语言