ListView控件属性与方法修订稿Word文档下载推荐.docx
《ListView控件属性与方法修订稿Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《ListView控件属性与方法修订稿Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
此外,ListView控件最重要的属性是Items属性,它包含了控件所有的存在的项。
SelectedItems属性是控件当前选定项的集合,同时和它关联的SelectedIndices属性是控件中选定项的索引集合,如下示例所示,我们分别在SelectedItems属性和SelectedIndices属性中获取所选项索引,窗体上拖放了ListView控件和一个Button控件,且已经往ListView控件中添加了若干列和行,代码如下:
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimiAsInteger=0
DimstrAsString="
"
Next
MessageBox.Show(str)
EndSub
运行后显示效果如下图四所示:
两个属性都能获得所选项在控件中的索引,我们在实际应用的时候可以灵活选择使用它们中的一个,以达到简化代码的目的。
三、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("
你想做什么"
)'
可以在这里添加我们需要的操作
代码运行后,我们激活选项,如下图五所示:
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属性。
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控件,然后在代码编辑器中添加如下代码:
DimmItemAsListViewItem
ListView1.LargeImageList=Me.ImageList1
ListView1.View=View.LargeIcon
Fori=0To3
运行后,单击按钮,效果如下图六所示:
也可以使用如下代码来添加Item,其运行效果是一样的:
Dimitem0AsNewListViewItem("
item0"
0)
Dimitem1AsNewListViewItem("
item1"
1)
Dimitem2AsNewListViewItem("
item2"
2)
Dimitem3AsNewListViewItem("
item3"
3)
五、为ListView控件添加列标题
当我们使用ListView控件的Details视图模式的时候,就必须为控件添加对应的列标题,才能显示出它所有的项。
1、视图模式下添加列标题
一般我们显示一个列表的时候,其列标题都应该是固定的,所以我们可以在视图模式中预先设置好列标题,这样比较直观。
先选中ListView控件,然后在它的属性窗口中找到Columns属性,单击后面的省略符号,如下图七所示:
然后在弹出的集合编辑器中添加和删除列标题即可,我们可以在编辑器的右边中编辑对应的列显示的文本、宽度以及文字对齐方式,如下图八所示:
添加完列标题之后记得把ListView控件的View属性设置为Details,才能显示出列标题来。
2、使用代码来添加列标题
我们可以使用Columns.Add方法来动态添加列标头,使用Columns.Clear()方法来清除所有的列标头,如下代码所示,动态添加四个列标题,其中每个列头的宽为50,
ListView1.View=View.Details
ListView1.GridLines=True
ListV
ListView1.Refresh()
1.OptionExplicit
2.PrivateSubForm_Load()
3.ListView1.FullRowSelect=True
4.
5.
6.
7.DimfNameAsString
8.
9.IfLen(App.Path)=3Then
10.
11.fName=App.Path&
"
学生名单.xls"
12.Else
13.
14.fName=App.Path&
\学生名单.xls"
15.EndIf
16.
17.GetExcelDatafName,ListView1
18.
19.EndSub
20.PrivateSubGetExcelData(ByValfileNameAsString,ByReflvwAsListView)
21.DimMyXlAsObject
22.
23.'
测试MicrosoftExcel的副本是否在运行。
24.
25.OnErrorResumeNext'
延迟错误捕获。
26.'
不带第一个参数调用Getobject函数将
27.
28.'
返回对该应用程序的实例的引用。
29.
30.'
如果该应用程序不在运行,则会产生错误。
31.
32.SetMyXl=GetObject(,"
Excel.Application"
)
33.
34.IfErr.Number>
0Then
35.
36.Err.Clear'
如果发生错误则要清除Err对象。
37.SetMyXl=CreateObject("
38.EndIf
39.
40.
41.
42.DimwsBookAsWorkbook
43.DimwsSheetAsWorksheet
44.
45.
46.
47.SetMyXl=GetObject(fileName)
48.
49.
50.
51.'
在此处对文件
52.
53.'
进行操作。
54.
55.SetwsSheet=wsBook.Worksheets("
Sheet1"
56.
57.
58.WithwsSheet
59.
60.DimrowAsLong
61.row=.Cells.SpecialCells(xlCellTypeLastCell).row
62.DimiAsLong
63.DimitmXAsListItem
64.Fori=2Torow
65.itmX.SubItems
(1)=.Cells(i,3)
66.itmX.SubItems
(2)=.Cells(i,4)
67.itmX.SubItems(3)=.Cells(i,5)
68.itmX.SubItems(4)=.Cells(i,6)
69.Next
70.EndWith
71.
72.MyXl.Application.DisplayAlerts=False
73.
74.
75.SetMyXl=Nothing'
释放对该应用程序
76.'
和电子数据表的引用。
77.EndSub
78.PrivateSubListView1_ItemClick(ByValItemAsMSComctlLib.ListItem)
79.Text1=Item.Text
80.
81.Text2=Item.SubItems
(1)
82.
83.Text3=Item.SubItems
(2)
84.Text4=Item.SubItems(3)
85.
86.Text5=Item.SubItems(4)
87.
88.EndSub
PublicSubLVrefresh(OptionalByValStandardTypeAsBoolean)
DimintRowAsInteger,strTempAsString
DimfileNoAsInteger,fileNameAsString
DimFpAsNewFileSystemObject
DimstrTsAsTextStream
DimListItemTempAsListItem
OnErrorResumeNext
fileNo=FreeFile
WithListView1
.ColumnHeaders.Clear
.ListItems.Clear
.ColumnHeaders.Add,,"
姓名"
.ColumnHeaders
(1).Width=1200
年龄"
.ColumnHeaders
(2).Width=900
职位"
.ColumnHeaders(3).Width=2000
联系电话"
.ColumnHeaders(4).Alignment=lvwColumnLeft
.ColumnHeaders(4).Width=2000
intRow=1
fileName=IIf(Left(App.Path,1)="
\"
App.Path&
1.txt"
\1.txt"
)
SetstrTs=Fp.OpenTextFile(fileName)
strTemp=strTs.ReadLine
DoWhileErr.Number=0
IfintRow=1Then
SetListItemTemp=.ListItems.Add(,,strTemp)
Else
ListItemTemp.SubItems(intRow-1)=strTemp
EndIf
IfintRow=4Then
intRow=intRow+1
Loop
EndWith
EndSub
PrivateSubCommand1_Click()
LVrefresh
常用属性:
View设置或返回控件的视图类型
值说明
1-LvwIcon图标类型
2-LvwSmallIcon小图标类型
3-LvwList列表类型
4-LvwReport报表类型
Arrange设置后返回控件的图标排列方式(在图标视图下有效)
1-LvwNone不排列
2-LvwAutoLeft自动靠右排列
3-LvwAutoTop自动靠左排列
Icons、SmallIcons、ColumnHeaderIcons属性
Icons指定图标视图时的图标与ImageList的绑定
SmallIcons、ColumnHeaderIcons指定列表视图时的图标与ImageList的绑定
PICTURE、PictureAlignment属性
分别指定ListView控件的背景图片和布局方式
ListItems(Index)属性
ListItems属性是ListView控件中列表项的集合。
Index用于指定列表项集合中的一个对象,
我们可以把这个对象看作对一行的引用
ListItems集合的属性
1.Text设置或返回显示文本
2.key关键字
3.index索引编号
4.icon,smallicon不同视图时显示单元格的图标
5.checked给checkboxes打√
6.selected使处于选定状态
7.ListSubitems(index)集合我们可以把这个集合看作对这行中单元格的引用
Text设置或返回单元格显示的内容
Reporticon设置单元格的图标
8.Subitems(index)设置或返回单元格文本==ListSubitems(i