C# WinForm ListView控件用法详解

一、属性

View属性(视图属性

LargeIcon - 每个项都显示一个最大化图标,标签在下。

SmallIcon - 每个项都显示一个小图标,标签居右。

List - 每个项都显示一个小图标,标签居右,没有列标头。

Details - 可以细节显示,但只有第一列可以包含一个小图标和标签,并且 第一列不可以设置居中属性

Tile - 每个项都显示一个完整大小的图标,标签居右。

常用属性

FullRowSelect - 指示当项被选中时,其所有子项是否同该项一起突出显示。仅在“Details”视图中显示

HeaderStyle - “Details”视图中列标头的样式。(None - 不显示列标头,Nonclickable - 不可点击,Clickable - 可点击)

Hideselection - 当控件没有焦点时,移除选定项的突出显示

CheckBoxes - 指示复选框是否显示在项旁边。

GridLines - 在项和子项周围显示网格线。仅在“Details”视图中显示

MultiSelect - 允许选择多项。

AllowColumnReorder - 设置是否可拖动列标头来对改变列的顺序。仅在 “Details”视图中显示

LabelEdit - 设置用户是否可以编辑控件中项的标签,对于“Details”视 图,只能编辑行第一列的内容

SelectedItems - 获取在控件中选定的项。

CheckedItems - 获取控件中当前复选框选中的项。

Soritng - 对列表视图的项进行排序。(Ascending - 项按递增顺序排序,Descending - 项按递减顺序排序,None - 项未排序)

Scrollable - 设置当没有足够空间来显示所有项时是否显示滚动条。

HoverSelection - 设置当鼠标指针悬停于项上时是否自动选择项。

ShowGroups - 设置是否以分组方式显示项。

二、用法

1、列表头创建

ColumnHeader  ch= new ColumnHeader();
ch.Text = "列标题1";   //设置列标题
ch.Width = 120;    //设置列宽度
ch.TextAlign = HorizontalAlignment.Left;   //设置列的对齐方式
this.listView1.Columns.Add(ch);    //将列头添加到ListView控件。
//或者:
this.listView1.Columns.Add("列标题1", 120,  HorizontalAlignment.Left); //一步添加

 2、添加数据项           

this.listView1.BeginUpdate(); //数据更新,UI暂时挂起,直到EndUpdate绘制控件,可以有效避免闪烁并大大提高加载速度
for (int i = 0; i < 10; i++)   //添加10行数据
 {
            ListViewItem lvi = new ListViewItem();
            lvi.ImageIndex = i;     //通过与imageList绑定,显示imageList中第i项图标
            lvi.Text = "subitem" + i;
            lvi.SubItems.Add("第2列,第"+i+"行");
            lvi.SubItems.Add("第3列,第"+i+"行");
            this.listView1.Items.Add(lvi);
  }
 this.listView1.EndUpdate();  //结束数据处理,UI界面一次性绘制。

3、 显示

          foreach (ListViewItem item in this.listView1.Items)
          {
                for (int i = 0; i < item.SubItems.Count; i++)
                {
                    MessageBox.Show(item.SubItems[i].Text);
                }
          }

4、 移除某项

          foreach (ListViewItem lvi in listView1.SelectedItems)  //选中项遍历
          {
                listView1.Items.RemoveAt(lvi.Index); // 按索引移除
                //listView1.Items.Remove(lvi);   //按项移除
          }   

5、行高设置

          ImageList imgList = new ImageList();
 
          imgList.ImageSize = new Size(1, 20);// 设置行高 20 //分别是宽和高
 
          listView1.SmallImageList = imgList; //这里设置listView的SmallImageList ,用imgList将其撑大

6 、清空  

          this.listView1.Clear();  //从控件中移除所有项和列(包括列表头)。
 
          this.listView1.Items.Clear();  //只移除所有的项。

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...