Winform listview控件、 容器控件

时间:2023-03-09 17:04:22
Winform listview控件、 容器控件

1、常用的基本属性:

(1)FullRowSelect:设置是否行选择模式。(默认为false) 提示:只有在Details视图该属性才有意义。

(2) GridLines:设置行和列之间是否显示网格线。(默认为false)提示:只有在Details视图该属性才有意义。

(3)AllowColumnReorder:设置是否可拖动列标头来对改变列的顺序。(默认为false)提示:只有在Details视图该属性才有意义。

(4)View:获取或设置项在控件中的显示方式,包括Details、LargeIcon、List、SmallIcon、Tile(默认为 LargeIcon)

(5)MultiSelect:设置是否可以选择多个项。(默认为false)

(6)HeaderStyle:获取或设置列标头样式。

Clickable:列标头的作用类似于按钮,单击时可以执行操作(例如排序)。

NonClickable:列标头不响应鼠标单击。

None:不显示列标头。

(7)LabelEdit:设置用户是否可以编辑控件中项的标签,对于Detail视图,只能编辑行第一列的内容。(默认为false)

(8)CheckBoxes:设置控件中各项的旁边是否显示复选框。(默认为false)

(9)LargeImageList:大图标集。提示:只在LargeIcon视图使用。

(10)SmallImageList:小图标集。提示:只有在SmallIcon视图使用。

(11)StateImageList:图像蒙板。这些图像蒙板可用作LargeImageList和SmallImageList图像的覆盖图,这些图像可用于指示项的应用程序定义的状态。

(12)SelectedItems:获取在控件中选定的项。

(13)CheckedItems:获取控件中当前复选框选中的项。

(14)Soritng:对列表视图的项进行排序。(默认为None)

Ascending:项按递增顺序排序。

Descending:项按递减顺序排序。

None:项未排序。

(15)Scrollable:设置当没有足够空间来显示所有项时是否显示滚动条。(默认为true)

(16)HoverSelection:设置当鼠标指针悬停于项上时是否自动选择项。(默认为false)

(17)HotTracking:设置当鼠标指针经过项文本时,其外观是否变为超链接的形式。(默认为false)

(18)HideSelection:设置选定项在控件没焦点时是否仍突出显示。(默认为false)

(19)ShowGroups:设置是否以分组方式显示项。(默认为false);

(20)Groups:设置分组的对象集合。

(21)TopItem:获取或设置控件中的第一个可见项,可用于定位。(效果类似于EnsureVisible方法)

2、常用方法:

(1)BeginUpdate:避免在调用EndUpdate 方法之前描述控件。当插入大量数据时,可以有效地避免控件闪烁,并能大大提高速度。

(2)EndUpdate:在BeginUpdate 方法挂起描述后,继续描述列表视图控件。(结束更新)

(3)EnsureVisible:列表视图滚动定位到指定索引项的选项行。(效果类似于TopItem属性)

(4)FindItemWithText:查找以给定文本值开头的第一个 ListViewItem。

(5)FindNearestItem:按照指定的搜索方向,从给定点开始查找下一个项。提示:只有在LargeIcon或SmallIcon视图才能使用该方法。

3、常用事件:

(1)AfterLabelEdit:当用户编辑完项的标签时发生,需要LabelEdit属性为true。

(2)BeforeLabelEdit:当用户开始编辑项的标签时发生。

(3)ColumnClick:当用户在列表视图控件中单击列标头时发生。

借鉴:

   ListView的五种视图:

1、LargeIcon:每个项都显示为一个最大化图标,在它的下面有一个标签。(效果见下图)

2、SmallIcon:每个项都显示为一个小图标,在它的右边带一个标签。(效果见下图)

3、List:每个项都显示为一个小图标,在它的右边带一个标签。各项排列在列中,没有列标头。(效果见下图)

4、Details:可以显示任意的列,但只有第一列可以包含一个小图标和标签,其它的列项只能显示文字信息,有列表头。(效果见下图)

5、Tile:每个项都显示为一个完整大小的图标,在它的右边带项标签和子项信息。(只有Windows XP 和 Windows Server 2003 系列支持)

①Details视图:

this.listView1.SmallImageList = this.imageList1;  //将listView的图标集与imageList1绑定 

Winform listview控件、 容器控件

或者

Winform listview控件、 容器控件

(2)添加数据项

    Winform listview控件、 容器控件

(3)显示项

Winform listview控件、 容器控件 Winform listview控件、 容器控件

(4)移除某项

Winform listview控件、 容器控件

(5)行高设置(利用imageList实现)

Winform listview控件、 容器控件

(6)清空

Winform listview控件、 容器控件

Winform listview控件、 容器控件

②largeIcon视图:

Winform listview控件、 容器控件

Winform listview控件、 容器控件

 ③SmallIcon视图:

Winform listview控件、 容器控件

Winform listview控件、 容器控件

④List视图:

Winform listview控件、 容器控件

Winform listview控件、 容器控件

两个比较重要的布局属性:
  Anchor:填充布局
  Dock:锁定布局(一般与容器控件配合使用)

  Panel:类似于DIV,里面可以放任何控件,可以独立布局,还可以让其它控件及容器在它的内部再次布局

  FlowLayoutPanel:相比Panel,此控件额外功能是在其内部的控件自动流式布局,本行不够的自动到下一行

  GroupBox:依然是容器,拥有Panel全部属性,比Panel多了个标题和边框样式

  TabControl:选项卡容器

  SplitContainer:二分区容器

  TableLayoutPanel:表格容器 每个表格只能放一个控件,要放置多个时可以在每个表格里面添加一个Panel容器然后在,Panel容器里面添加控件