ListView 控件属性与方法.docx

上传人:b****1 文档编号:13477362 上传时间:2023-06-14 格式:DOCX 页数:19 大小:22.52KB
下载 相关 举报
ListView 控件属性与方法.docx_第1页
第1页 / 共19页
ListView 控件属性与方法.docx_第2页
第2页 / 共19页
ListView 控件属性与方法.docx_第3页
第3页 / 共19页
ListView 控件属性与方法.docx_第4页
第4页 / 共19页
ListView 控件属性与方法.docx_第5页
第5页 / 共19页
ListView 控件属性与方法.docx_第6页
第6页 / 共19页
ListView 控件属性与方法.docx_第7页
第7页 / 共19页
ListView 控件属性与方法.docx_第8页
第8页 / 共19页
ListView 控件属性与方法.docx_第9页
第9页 / 共19页
ListView 控件属性与方法.docx_第10页
第10页 / 共19页
ListView 控件属性与方法.docx_第11页
第11页 / 共19页
ListView 控件属性与方法.docx_第12页
第12页 / 共19页
ListView 控件属性与方法.docx_第13页
第13页 / 共19页
ListView 控件属性与方法.docx_第14页
第14页 / 共19页
ListView 控件属性与方法.docx_第15页
第15页 / 共19页
ListView 控件属性与方法.docx_第16页
第16页 / 共19页
ListView 控件属性与方法.docx_第17页
第17页 / 共19页
ListView 控件属性与方法.docx_第18页
第18页 / 共19页
ListView 控件属性与方法.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

ListView 控件属性与方法.docx

《ListView 控件属性与方法.docx》由会员分享,可在线阅读,更多相关《ListView 控件属性与方法.docx(19页珍藏版)》请在冰点文库上搜索。

ListView 控件属性与方法.docx

ListView控件属性与方法

ListView控件可以用来显示各项带图标的列表,也可以用来显示带有子项的列表,Windows操作系统的资源管理器中文件夹窗口就是最好的应用例子。

如下图一所示就是“我的电脑”中使用ListView控件来显示本机所有盘符:

说明:

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

下面我们就先来了解下ListView控件的基本应用,在中的工具箱中,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控件中添加了若干列和行,代码如下:

PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles

DimiAsInteger=0

DimstrAsString=""

Next

(str)

EndSub

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

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

三、ListView的其他重要属性

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

1、Activation属性

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

OneClick:

用户必须单击以激活项。

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

Standard:

用户必须双击以激活项。

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

TwoClick:

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

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

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

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

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

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

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

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

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

PrivateSubListView1_ItemActivate(ByValsenderAsObject,ByValeAsHandles

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

EndSub

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

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控件的()方法来为它添加新的项,Add()方法的格式如下:

Add(text,imageIndex)

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

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

示例:

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

PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles

DimmItemAsListViewItem

DimiAsInteger=0

=

=

Fori=0To3

Next

EndSub

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

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

PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles

=

=

Dimitem0AsNewListViewItem("item0",0)

Dimitem1AsNewListViewItem("item1",1)

Dimitem2AsNewListViewItem("item2",2)

Dimitem3AsNewListViewItem("item3",3)

=

EndSub

五、为ListView控件添加列标题

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

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

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

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

然后在弹出的集合编辑器中添加和删除列标题即可,我们可以在编辑器的右边中编辑对应的列显示的文本、宽度以及文字对齐方式,如下图八所示:

添加完列标题之后记得把ListView控件的View属性设置为Details,才能显示出列标题来。

2、使用代码来添加列标题

我们可以使用方法来动态添加列标头,使用()方法来清除所有的列标头,如下代码所示,动态添加四个列标题,其中每个列头的宽为50,

PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles

=

=True

ListV

()

EndSub

1.OptionExplicit

2.PrivateSubForm_Load()

3.=True

4.

5.DimfNameAsString

6.IfLen=3Then

7.fName=&"学生名单.xls"

8.Else

9.fName=&"\学生名单.xls"

10.EndIf

11.GetExcelDatafName,ListView1

12.EndSub

13.PrivateSubGetExcelData(ByValfileNameAsString,ByReflvwAsListView)

14.DimMyXlAsObject

15.'测试MicrosoftExcel的副本是否在运行。

16.OnErrorResumeNext'延迟错误捕获。

17.'不带第一个参数调用Getobject函数将

18.'返回对该应用程序的实例的引用。

19.'如果该应用程序不在运行,则会产生错误。

20.SetMyXl=GetObject(,"")

21.If>0Then

22.'如果发生错误则要清除Err对象。

23.SetMyXl=CreateObject("")

24.EndIf

25.

26.DimwsBookAsWorkbook

27.DimwsSheetAsWorksheet

28.

29.SetMyXl=GetObject(fileName)

30.

31.'在此处对文件

32.'进行操作。

33.SetwsSheet=("Sheet1")

34.

35.WithwsSheet

36.DimrowAsLong

37.row=.(xlCellTypeLastCell).row

38.DimiAsLong

39.DimitmXAsListItem

40.Fori=2Torow

41.

(1)=.Cells(i,3)

42.

(2)=.Cells(i,4)

43.(3)=.Cells(i,5)

44.(4)=.Cells(i,6)

45.Next

46.EndWith

47.=False

48.

49.SetMyXl=Nothing'释放对该应用程序

50.'和电子数据表的引用。

51.EndSub

52.PrivateSubListView1_ItemClick(ByValItemAs

53.Text1=

54.Text2=

(1)

55.Text3=

(2)

56.Text4=(3)

57.Text5=(4)

58.EndSub

PublicSubLVrefresh(OptionalByValStandardTypeAsBoolean)

DimintRowAsInteger,strTempAsString

DimfileNoAsInteger,fileNameAsString

DimFpAsNewFileSystemObject

DimstrTsAsTextStream

DimListItemTempAsListItem

OnErrorResumeNext

fileNo=FreeFile

WithListView1

.

.

.,,"姓名"

.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,1)="\",&"",&"\")

SetstrTs=(fileName)

strTemp=

DoWhile=0

IfintRow=1Then

SetListItemTemp=.(,,strTemp)

Else

(intRow-1)=strTemp

EndIf

IfintRow=4Then

intRow=1

Else

intRow=intRow+1

EndIf

strTemp=

Loop

EndWith

EndSub

PrivateSubCommand1_Click()

LVrefresh

EndSub

PublicSubLVrefresh(OptionalByValStandardTypeAsBoolean)

DimintRowAsInteger,strTempAsString

DimfileNoAsInteger,fileNameAsString

DimFpAsNewFileSystemObject

DimstrTsAsTextStream

DimListItemTempAsListItem

OnErrorResumeNext

fileNo=FreeFile

WithListView1

.

.

.,,"姓名"

.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,1)="\",&"",&"\")

SetstrTs=(fileName)

strTemp=

DoWhile=0

IfintRow=1Then

SetListItemTemp=.(,,strTemp)

Else

(intRow-1)=strTemp

EndIf

IfintRow=4Then

intRow=1

Else

intRow=intRow+1

EndIf

strTemp=

Loop

EndWith

EndSub

PrivateSubCommand1_Click()

LVrefresh

EndSub

常用属性:

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(index).text

 

ColumnHeaders(index)属性

ColumnHeaders属性是ListView控件中列标头的集合

1.text显示标题文本

2.key

3.index

4.icon指定标题图标

5.alignment指定index列的对齐方式(注意:

第一列也就是列表项不能指定)

6.position返回当前列的索引

7.subitemindex返回指定列的listsubitem索引

TextBackgroud属性

决定text的背景是透明还是ListView的背景色

值0lvwTransparent透明

1lvw不透明(用listview的背景色)

Ghosted属性logic

决定是否虚状

HideColumnHeaders属性

隐藏表头

LabelWrap属性

标签转行或时才使用该属性

FullRowSelect

整行显示

HotTracking

热点追踪鼠标指针自动调整为手型

HoverSelection属性

自动聚焦鼠标指针自动调整为手型

AllowColumnReorder属性

值设置.t.时,用户可以用鼠标选中1列拖至其他地方进行重新排列

Sorted属性

当值为.t.时,列表按字母排序

常用方法:

(index,key,text,icon,smallicon)

向listitems添加一列表项。

Index插入列表项的编号

Key插入列表项的关键字

Text插入列表项的文本

Icon当为图标视图时要求显示的图标

Smallicon当为小图标视图时要求显示的图标

Clear

清除listitems集合中所有的列表项

Remove清除选定行

L1=

AllowColumnReorder属性

值设置.t.时,用户可以用鼠标选中1列拖至其他地方进行重新排列

常用事件:

AfterLabelEdit

编辑当前选择的列表对象之后发生

BeforeLabelEdit

编辑当前选择的列表对象之前发生

ItemClick

单击某一列表对象时发生

参数item对当前列表项的引用

事件

AfterLabelEdit:

编辑ListItem对象的标签时被触发。

BeforeLabelEdit:

编辑ListItem对象的标签后出发。

ColumnClick:

单击列标题时触发。

参数中可以获得被单击的列对象。

通常用于排序。

ItemClick:

单击某行或某ListItem时触发。

参数中可以获得被单击的ListItem对象。

方法

FindItem:

搜索ListItem对象。

参数:

string:

搜索字符串。

value:

在ListItem的哪部分中搜索(LvwText、LvwSubItem、LvwTag);index:

开始搜索的位置。

match:

匹配方式。

HitTest:

检索位于特定坐标处的ListItem对象。

vb中的实例

PrivateSubForm_load()

'确保ListView控件的view属性为报表视图。

=lvwReport

'添加三列。

 

'向控件添加ListItem对象。

DimitmXAsListItem

'添加column1的名称。

'使用SubItemIndex将SubItem与正确的ColumnHeade

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

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2