vb.net入门——ListView 控件的使用


ListView 控件可以用来显示各项带图标的列表,也可以用来显示带有子项的列表,Windows操作系统的资源管理器中文件夹窗口就是最好的应用例子。如下图一所示就是“我的电脑”中使用ListView 控件来显示本机所有盘符:

说明:可以通过“查看”菜单来观察其它三种显示方式,这些都是ListView的视图模式之一。

下面我们就先来了解下ListView控件的基本应用,在vb.net中的工具箱中,ListView 控件的图标如下图二所示:

一、View 属性

ListView 控件作为一个可以显示图标或者子项的列表控件,它最重要的属性就是 View 属性,该属性决定了以哪种视图模式显示控件的项,这四种视图模式分别如下:

1、LartIcon:大图标视图模式,在项的文本旁显示大的图标,在控件宽度足够的情况下,项是如图一中的盘符一样优先以平行排列的,排列不完的则自动换行显示在新行中。

2、SmallIcon:小图标视图模式,与大图标模式一样,但是显示的是小的图标。

3、List:列表视图模式,显示小图标,但是项是垂直排列的,只显示单列。

4、Details:详细资料视图模式,是最丰富的选项,它不但允许您查看项,还允许您查看为各项指定的任何子项。各项在网格中显示,它们垂直排列且其子项会显示在列中(带有列标头)。对应地,只有在Details 视图模式中起作用的控件属性为:GridLines 和 FullRowSelect,GridLines 属性指示在包含控件中项及其子项的行和列之间是否显示网格线。FullRowSelect 属性指示单击某项是否选择其所有子项(即整行选中),如下图三所示便是GridLines 和 FullRowSelect 属性都设置为True的情况:

ListView 控件中还有一个HeaderStyle 属性也是在Details 视图模式下才起作用,HeaderStyle 属性指示列标头样式,它有下面三种显示样式:

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

2、Nonclickable:列标头不响应鼠标单击。

3、None:列标头在报表视图中不显示。

二、Items 属性

此外,ListView 控件最重要的属性是 Items 属性,它包含了控件所有的存在的项。SelectedItems 属性是控件当前选定项的集合,同时和它关联的 SelectedIndices 属性是控件中选定项的索引集合,如下示例所示,我们分别在SelectedItems 属性和SelectedIndices 属性中获取所选项索引,窗体上拖放了ListView控件和一个Button 控件,且已经往ListView控件中添加了若干列和行,代码如下:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim i As Integer = 0

Dim str As String = ""

For i = 0 To ListView1.SelectedItems.Count - 1

str = str & "选中项索引=" & ListView1.SelectedItems.Item(i).Index.ToString & ";"

str = str & "在控件中的索引=" & ListView1.SelectedIndices.Item(i).ToString & vbCr

Next

MessageBox.Show(str)

End Sub

运行后显示效果如下图四所示:

两个属性都能获得所选项在控件中的索引,我们在实际应用的时候可以灵活选择使用它们中的一个,以达到简化代码的目的。

三、ListView 的其他重要属性

ListView 控件还有一些比较常用的重要属性

1、Activation 属性

Activation 属性指定用户激活 ListView 控件中的项的方式,它包括三个可选值:

OneClick:用户必须单击以激活项。光标更改为手形指针光标,项文本在用户将鼠标指针移动到项上时更改颜色。

Standard:用户必须双击以激活项。在用户将鼠标指针移动到项上时没有提供任何反馈。

TwoClick:用户必须双击以激活项,项文本在用户将鼠标指针移动到项上时更改颜色。

激活 ListView 中的项与只选择项是不同的。当激活某个项时,通常会在 ItemActivate 事件的事件处理程序中执行一个操作。例如,当激活某个项时,您可能会打开一个文件或显示一个允许用户对项进行编辑的对话框。通常,项的激活是通过用户对它进行双击来实现的。如果 Activation 属性设置为 OneClick,那么单击该项一次即可将其激活。将 Activation 属性设置为 TwoClick 与标准的双击不同,这是因为两次单击之间的时间间隔可以是任意的。

注意   如果将 Activation 属性设置为 ItemActivation.OneClick 或 ItemActivation.TwoClick,则不管 LabelEdit 属性的值是什么,都不允许进行标签编辑。

设置 Activation 属性实际上就是决定以何种方式来触发 ItemActivate 事件,如果我们需要在激活项的时候进行额外的操作,例如弹出一个关联的对话框来,则可以在  ItemActivate 事件中编写合适代码来完成,如下代码所示:

Private Sub ListView1_ItemActivate(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.ItemActivate

MessageBox.Show("你想做什么")'可以在这里添加我们需要的操作

End Sub

代码运行后,我们激活选项,如下图五所示:

 

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3