vblistview控件用法.docx

上传人:b****5 文档编号:6906183 上传时间:2023-01-12 格式:DOCX 页数:19 大小:211.58KB
下载 相关 举报
vblistview控件用法.docx_第1页
第1页 / 共19页
vblistview控件用法.docx_第2页
第2页 / 共19页
vblistview控件用法.docx_第3页
第3页 / 共19页
vblistview控件用法.docx_第4页
第4页 / 共19页
vblistview控件用法.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

vblistview控件用法.docx

《vblistview控件用法.docx》由会员分享,可在线阅读,更多相关《vblistview控件用法.docx(19页珍藏版)》请在冰豆网上搜索。

vblistview控件用法.docx

vblistview控件用法

VB ListView控件适用方法

  

    

ListView控件

在工具箱上击鼠标右键,选择快捷菜单的Components(部件)项,在控件列表中选择MicrosoftWindowsCommonControls5.0控件(Comctl32.ocx),这个控件中包括ListView、TreeView等几个Windows95特有的控件。

如果使用的是VisualBasic6.0,则应该选择MicrosoftWindowsCommonControls6.0控件。

将ColumnHeader对象添加到ListView控件的ColumnHeaders集合中。

 

语法

ListView1.ColumnHeaders.Add(index,key,text,width,alignment,icon)

Add方法的语法包含下面部分:

部分 描述

object  必需的。

对象表达式,其值是ColumnHeaders集合。

index  可选的。

唯一标识对象集合成员的整数。

key  可选的。

唯一的字符串表达式,可以用来访问集合的成员。

text  可选的。

出现在ColumnHeader对象中的字符串。

width  可选的。

数值表达式,它使用控件容器的度量单位指定对象的宽度。

alignment 可选的。

决定ColumnHeader对象中文本对齐方式的整数。

关于设置信息,请参阅“请参阅列表中Alignment属性的信息。

icon  可选的。

Smallicons图象列表中图象的关键字或索引。

说明Add方法返回新插入的ColumnHeader对象的引用。

使用index参数在ColumnHeaders集合的特定位置插入列标头。

当ColumnHeaders集合成员可能动态变更时,应使用Key属性引用它们,因为任何ColumnHeader对象的Index属性都可以改变。

示例:

ListView1.ListItems.Clear              '清空列表

ListView1.ColumnHeaders.Clear          '清空列表头

ListView1.View=lvwReport             '设置列表显示方式

ListView1.GridLines=True             '显示网络线

ListView1.LabelEdit=lvwManual        '禁止标签编辑

ListView1.FullRowSelect=True         '选择整行

ListView1.ColumnHeaders.Add,,"ID",500'给列表中添加列名

ListView1.ColumnHeaders.Add,,"本地IP",1500

ListView1.ColumnHeaders.Add,,"本地端口",900

ListView1.ColumnHeaders.Add,,"协议",550

ListView1.ColumnHeaders.Add,,"远程IP",1500

ListView1.ColumnHeaders.Add,,"远程端口",900

ListView1.ColumnHeaders.Add,,"当前状态",900

ListView1.ColumnHeaders.Add,,"连接时间",900

-------------------------------------------------------

DimX

X=ListView1.ListItems.Count+1

ListView1.ListItems.Add,,X

ListView1.ListItems(X).SubItems

(1)="00:

00:

00"

ListView1.ListItems(X).SubItems

(2)="2008-01-01"

ListView1.ListItems(X).SubItems(3)="(无)"

-------------------------------------------------------

ListView1.ListItems.Clear              '清空列表

ListView1.ListItems.Add,,"1"

ListView1.ListItems

(1).SubItems

(1)="00:

00:

00"

ListView1.ListItems

(1).SubItems

(2)="2008-01-01"

ListView1.ListItems

(1).SubItems(3)="(无)"

ListView1.ListItems.Add,,"2"

ListView1.ListItems

(2).SubItems

(1)="00:

00:

01"

ListView1.ListItems

(2).SubItems

(2)="2008-01-01"

ListView1.ListItems

(2).SubItems(3)="(无)"

-------------------------------------------------------

ListView1.View=lvwReport             '设置显示方式为列表

ListView1.AllowColumnReorder=True    '对行进行程序排列,用鼠标进行排列

ListView1.Arrange=lvwAutoLeft        '图标横排列

ListView1.Arrange=lvwAutoTop         '图标竖排列

ListView1.FlatScrollBar=False        '显示滚动条

ListView1.FlatScrollBar=True         '隐藏滚动条

ListView1.FullRowSelect=True         '选择整行

ListView1.LabelEdit=lvwManual        '禁止标签编辑

ListView1.GridLines=True             '显示网络线

ListView1.LabelWrap=True             '图标可以换行

ListView1.MultiSelect=True           '可以选择多个项目

ListView1.PictureAlignment=lvwTopLeft'图片对齐方式是左顶部,其他有右顶部

(1)、左底部

(2)、右底部(3)、居中(4)、平铺(5)

ListView1.Checkboxes=True            '显示复选框

ListView1.DropHighlight=ListView1:

ListItems.Item

(2) '显示系统颜色

获取当前行数和列数:

MsgBox"行数:

"&ListView1.ListItems.Count&"列数:

"&ListView1.ColumnHeaders.Count

PrivateSubListView1_MouseMove(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)

ListView1.ToolTipText="行数:

"&ListView1.ListItems.Count&"列数:

"&ListView1.ColumnHeaders.Count

EndSub

设置宽度:

ListView1.ColumnHeaders.Add,,"备注",1500

当前选中行:

msgboxListView1.SelectedItem.index

获取复选框的值:

msgboxListView1.ListItems

(1).Checked

删除指定行:

ListView1.ListItems.Remove1

去掉鼠标左键点击标签编辑:

labeledit属性改为1

读取某行第一列内容:

ListView1.ListItems(i).Text

读取某行第几列内容(不包括第一列):

ListView1.ListItems(Num).SubItems(4)

读取当前选中行第一列内容:

ListView1.ListItems(ListView1.SelectedItem.Index).Text

循环查找读取项目:

DimiAsInteger

Fori=1ToListView1.ListItems.Count

   IfListView1.ListItems(i).Text=4ThenMsgBoxListView1.ListItems(i).Text'第一列

   IfListView1.ListItems(i).SubItems

(1)=4ThenMsgBoxListView1.ListItems(i).SubItems

(1)'第二列

Nexti

清空列表头:

ListView1.ColumnHeaders.Clear

清空列表:

ListView1.ListItems.Clear

右键菜单:

PrivateSubListView1_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)

IfButton=vbRightButtonThenPopupMenuCommandLst'按下鼠标右键显示菜单

EndSub

当前选中判断:

DimN

IfListView1.ListItems.Count<>0ThenN=ListView1.SelectedItem.IndexElseMsgBox"当前没有任何主机在线!

",vbInformation,"警告:

":

ExitSub

IfN<1ThenMsgBox"你没有选中任何主机!

",vbInformation,"警告:

":

ExitSub

VB设置某行为选中/非选中状态:

ListView.ListItems(i).Selected=True'选中第i行

ListView.ListItems(i).Selected=False'选中第i行

一、View属性

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

[art_myurl]

1、LartIcon:

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

2、SmallIcon:

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

3、List:

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

4、Details:

详细资料视图模式,是最丰富的选项,它不但允许您查看项,还允许您查看为各项指定的任何子项。

各项在网格中显示,它们垂直排列且其子项会显示在列中(带有列标头)。

对应地,只有在Details视图模式中起作用的控件属性为:

GridLines和FullRowSelect,GridLines属性指示在包含控件中项及其子项的行和列之间是否显示网格线。

FullRowSelect属性指示单击某项是否选择其所有子项(即整行选中),如下图三所示便是GridLines和FullRowSelect属性都设置为True的情况:

图三:

显示网格线与整行选中

延伸阅读:

使用ListView控件显示系统驱动器

上一篇文章我们了解了ListView控件的使用(相关文章:

入门——ListView控件的使用),这里我们就来用ListView控件模仿制作一个Windows操作系统中“我的电脑”中显示的磁盘驱动器信息列表,以加深对ListView控件的印象。

需要了解ListView控件的基本使用。

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

1、Clickable:

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

2、Nonclickable:

列标头不响应鼠标单击。

3、None:

列标头在报表视图中不显示。

二、Items属性

此外,ListView控件最重要的属性是Items属性,它包含了控件所有的存在的项。

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

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

DimiAsInteger=0

DimstrAsString=""

Fori=0ToListView1.SelectedItems.Count-1

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

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

Next

MessageBox.Show(str)

EndSub

[art_myurl]

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

图四

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

延伸阅读:

使用ListView控件显示系统驱动器

上一篇文章我们了解了ListView控件的使用(相关文章:

入门——ListView控件的使用),这里我们就来用ListView控件模仿制作一个Windows操作系统中“我的电脑”中显示的磁盘驱动器信息列表,以加深对ListView控件的印象。

需要了解ListView控件的基本使用。

三、ListView的其他重要属性

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

1、Activation属性

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

OneClick:

用户必须单击以激活项。

光标更改为手形指针光标,项文本在用户将鼠标指针移动到项上时更改颜色。

Standard:

用户必须双击以激活项。

在用户将鼠标指针移动到项上时没有提供任何反馈。

TwoClick:

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

激活ListView中的项与只选择项是不同的。

当激活某个项时,通常会在ItemActivate事件的事件处理程序中执行一个操作。

例如,当激活某个项时,您可能会打开一个文件或显示一个允许用户对项进行编辑的对话框。

通常,项的激活是通过用户对它进行双击来实现的。

如果Activation属性设置为OneClick,那么单击该项一次即可将其激活。

将Activation属性设置为TwoClick与标准的双击不同,这是因为两次单击之间的时间间隔可以是任意的。

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

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

PrivateSubListView1_ItemActivate(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesListView1.ItemActivate

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

EndSub

[art_myurl]

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

2、LabelEdit属性

LabelEdit属性指示用户是否可以编辑控件中项的标签。

当LabelEdit属性设置为true时,用户可以单击项文本,将其选中,然后再次单击项文本,将标签文本置于编辑模式,然后,用户可以修改或替换项的文本标签。

在用户编辑项文本之前和之后,您可以使用BeforeLabelEdit和AfterLabelEdit事件来执行任务。

如果该属性设置为true,则无法修改子项的文本。

要更改子项的文本,您可以在用户双击控件中的子项时为其显示对话框。

3、LabelWrap属性

LabelWrap属性指示当项作为图标在控件中显示时,项标签是否换行。

当LabelWrap属性设置为true时,如果需要,项文本会换至文本的下一行。

如果文本长于两行,则文本将缩短。

如果用户选择了该项,则显示所有项文本。

如果LabelWrap属性设置为false,则所有项文本都将显示在单独一行中。

整个项文本在LabelWrap设置为false时显示。

只有在View属性设置为LargeIcon或SmallIcon时才使用该属性。

4、MultiSelect属性

MultiSelect属性指示是否可以选择多个项。

当MultiSelect属性设置为true时,可在ListView控件中选择多个项。

5、Scrollable属性

Scrollable属性指示在没有足够空间来显示所有项时,是否显示滚动条。

6、Sorting属性

Sorting属性指示控件中项的排序顺序。

Sorting属性允许指定项在ListView控件中是否排序。

默认情况下,不执行排序。

当Sorting属性设置为Ascending或Descending时,ListView中的项自动按照升序字母顺序(当属性设置为Ascending时)或降序字母顺序(当属性设置为Descending时)进行排序。

您可以使用该属性对ListView控件中显示的项进行自动排序,使用户在大量项可用时更容易查找到项。

如果您要自己执行对项的排序,而不使用Sorting属性,可与Sort方法一起使用ListViewItemSorter属性。

[art_myurl]

7、LargeImageList属性

LargeImageList属性设置当项以大图标在控件中显示时使用的ImageList。

8、SmallImageList属性

SmallImageList属性设置当项以小图标在控件中显示时使用的ImageList。

面我们了解了ListView的一些主要属性,下面我们来看如何使用它。

四、向ListView控件添加项

1、我们可以使用ListViewItem集合编辑器来为控件添加项

方法是在ListView控件的属性窗口中选择Items属性。

2、还可以使用ListView控件的Items.Add()方法来为它添加新的项,Add()方法的格式如下:

Add(text,imageIndex)

text为要添加项所显示的文本

imageIndex为可选参数,指示所对应ImageList中的图标索引

示例:

为窗体添加一个ListView控件,一个ImageList控件,一个Button控件,然后在代码编辑器中添加如下代码:

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

DimmItemAsListViewItem

DimiAsInteger=0

ListView1.LargeImageList=Me.ImageList1

ListView1.View=View.LargeIcon

Fori=0To3

ListView1.Items.Add("Item"&i,i)

Next

EndSub

运行后,单击按钮,效果如下图六所示:

图六:

添加Item

也可以使用如下代码来添加Item,其运行效果是一样的:

[art_myurl]

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

ListView1.LargeImageList=Me.ImageList1

ListView1.View=View.LargeIcon

Dimitem0AsNewListViewItem("item0",0)

Dimitem1AsNewListViewItem("item1",1)

Dimitem2AsNewListViewItem("item2",2)

Dimitem3AsNewListViewItem("item3",3)

ListView1.LargeImageList=Me.ImageList1

ListView1.Items.AddRange(NewListViewItem(){item0,item1,item2,item3})

EndSub

五、为ListView控件添加列标题

当我们使用ListView控件的Details视图模式的时候,就必须为控件添加对应的列标题,才能显示出它所有的项。

1、视图模式下添加列标题

一般我们显示一个列表的时候,其列标题都应该是固定的,所以我们可以在视图模式中预先设置好列标题,这样比较直观。

先选中ListView控件,然后在它的属性窗口中找到Columns属性,单击后面的省略符号,如下图七所示:

图七:

Columns属性

然后在弹出的集合编辑器中添加和删除列标题即可,我们可以在编辑器的右边

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1