1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > C# WinForm ListView控件用法详解

C# WinForm ListView控件用法详解

时间:2020-09-05 15:01:17

相关推荐

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(); //只移除所有的项。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。