一个关于VB listview控件用法的,会vb的来帮忙!

我用listview的list.ListItems.Add方法添加了几个项目可是我想自动选中指定项目,比如选中列表中第二项,应该怎么办?我用List.ListItems(... 我用listview的list.ListItems.Add 方法添加了几个项目
可是我想自动选中指定项目,比如选中列表中第二项,应该怎么办?
我用List.ListItems(2).Selected = True 这么做为什么 不好使
展开
 我来答
百度网友d8f3578
2008-02-12 · TA获得超过652个赞
知道小有建树答主
回答量:100
采纳率:0%
帮助的人:118万
展开全部
ListView控件比前面几种控件要复杂一些,通过此控件,可将项目组成带有或不带有列标头的列,并显示伴随的图标和文本。ListView控件是由ColumnHeader和ListItem对象所组成的,其中ColumnHeader对象的个数决定了控件的列数,而ListItem对象的个数则决定了控件的行数。(图7)
ColumnHeader对象是ListView控件中包含标头文字的项目。利用ColumnHeader对象,用户可以:
▲单击对象触发ColumnClick事件并根据数据项目将项目排序。
▲拖动对象的右边框来调整列宽度。
▲在报表视图中隐藏ColumnHeader对象。
ColumnHeader对象的数目决定每个ListItem对象可包含的子项目数目。删除ColumnHeader对象后所有与列关联的子项目也将被删除,并且每个ListItem对象的子项目数组将平移以更新ColumnHeader的索引,而这将导致剩余的列标头SubItemIndex属性的改变。

ColumnHeader对象的SubItemIndex属性
该属性返回与ListView控件中ColumnHeader对象关联的子项目的索引。子项目是字符串数组,代表显示在报表视图中的ListItem对象的数据。第一列的列标头SubItemIndex属性设置为0,这是因为小图标和ListItem对象的文字总出现在第一列中,而且它们被当作ListItem对象而不是子项目。列标头数目取决于子项目数目。列标头数目总是比子项目数目多1。
在设计时可以利用属性页的“列首”选项卡将ColumnHeader对象添加到ListView控件中,在运行时则用Add方法添加。

ColumnHeader对象的Add方法
该方法的使用与前面那些控件基本相似,就不再介绍了。
ListView1.ColumnHeader.Add(index,key,text,width,alignment)
ListItem对象是指控件中的一行(不包含标头行)的所有内容。它也可包含文本和图片,但是要使用图片则必须通过Icons和SmallIcons属性引用ImageList控件。

ListItem对象的SubItems属性
返回或设置一个字符串(子项目)数组,它代表ListView控件中ListItem对象的数据。
ListItem对象可包含任意多个的关联项目数据字符串(子项目),但每个ListItem对象子项目数目必须相同。每个子项目都对应于相关的列标头,无法直接向子项目数组添加元素,只有通过ColumnHeaders的Add方法添加列标头的方法来添加子项目。

ListItem对象的Add方法
该方法添加ListItem对象到ListView控件的ListItems集合中并返回对新创建对象的引用。
它的语法如下:

ListItem1.Add(index,key,text,icon,smallIcon)

ListView控件的View属性
ListView控件可使用四种不同视图显示项目,这可以用View属性来确定。该属性返回或设置ListView控件中ListItem对象的外观。
ListView控件的SortOrder,SortKey和Sorted属性
控件中的ListItem对象可以按要求进行排序,与排序有关的属性是SortOrder,Sorted和SortKey属性。
SortOrder属性返回或设置一个值,此值决定ListView控件中的ListItem对象以升序或降序排序。
SortKey属性返回或设置一个值,此值决定ListView控件中的ListItem对象如何排序。
Sorted属性返回或设置确定ListView控件中的ListItem对象是否排序的值。
下面的代码说明了如何创建ColumnHeaders和ListItem对象,SubItemIndex和SubItem属性的使用方法以及如何排序。

Private Sub Form_load()
'确保ListView控件的view属性为报表视图。
ListView1.View=lvwReport
'添加三列。
ListView1.ColumnHeaders.Add,"Name","姓名"
ListView1.ColumnHeaders.Add,"Sex","性别"
ListView1.ColumnHeaders.Add,"Age","年龄"
'向控件添加ListItem对象。
Dim itmX As ListItem
'添加column1的名称。
Set itmX=ListView1.ListItems.Add(1,"ZL","张力")
'使用SubItemIndex将SubItem与正确的ColumnHeader关联。使用关键字("Sex")指定正确的ColumnHeader。
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
'使用ColumnHeader关键字将SubItems字符串与
'正确的ColumnHeader关联。
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="19"
Set itmX=ListView1.ListItems.Add(1,"LF","李芳")
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="22"
Set itmX=ListView1.ListItems.Add(1,"WW","王伟")
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
itmX.SubItems(ListView1.ColumnHeaders("Age").SubItemIndex)="24"
End Sub

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As ComctlLib.ColumnHeader)
Select Case ColumnHeader.Key
Case "Sex":ListView1.SortKey=1
ListView1.SortOrder=lvwAscending
ListView1.Sorted=True
Case "Age":ListView1.SortKey=2
ListView1.SortOrder=lvwAscending
ListView1.Sorted=True
End Select
End Sub
符映维
2008-02-12
知道答主
回答量:54
采纳率:0%
帮助的人:0
展开全部
Sub form_load()
With Lvw
.ListItems.Add , , "asp"
.ListItems.Add , , "html"
.ListItems.Add , , "vbs"
.ListItems.Add , , "css"
End With
Dim j%
j = 2
Lvw.ListItems(j).Selected = True
End Sub

测试的时候不要在form_load加载listbox增加项目.不然运行的时候会看不出效果。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
保持距离12345
2008-02-12 · 超过33用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:0
展开全部
List.ListItems(2).Selected = True 表示第2行被选择(高亮);
List.ListItems(2).Checked = True 表示在List.Checkboxes为True时第2行前面的小框被钩选。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
swx1995
2008-02-12 · TA获得超过2696个赞
知道大有可为答主
回答量:1477
采纳率:0%
帮助的人:2376万
展开全部
晕!Selected是指LisT前面那个小框框(复选框)!
不过好像真的不能自动选择..
因为平时我不怎么用这个东西..

反正Selected=True是不能的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式