要使用ListView控件,需要加入組件:
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供達(dá)日網(wǎng)站建設(shè)、達(dá)日做網(wǎng)站、達(dá)日網(wǎng)站設(shè)計、達(dá)日網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、達(dá)日企業(yè)網(wǎng)站模板建站服務(wù),10多年達(dá)日做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
Microsoft Windows Common Controls 6.0
Windows資源管理器的右半部分,就是一個ListView控件。
作用
列出并列關(guān)系的對象及對象屬性。
ListView控件的對象層次結(jié)構(gòu)
ListView -整個控件
ColumnHeaders -標(biāo)題行
ColumnHeader -標(biāo)題列
ListItems -對象行集合
ListItem -對象行
ListSubItems -對象屬性集合
ListSubItem -對象屬性
注意:SubItems和ListSubItems的區(qū)別:SubItems是一個String數(shù)組;ListSubItems是一個集合。
屬性
View:設(shè)置ListView的外觀
Sorted:設(shè)置ListView中的對象集合是否排序。
SortKey:設(shè)置以第幾項排序。從零開始。
SelectedItem:返回選中的對象的引用。
事件
AfterLabelEdit:編輯ListItem對象的標(biāo)簽時被觸發(fā)。
BeforeLabelEdit:編輯ListItem對象的標(biāo)簽后出發(fā)。
ColumnClick:單擊列標(biāo)題時觸發(fā)。參數(shù)中可以獲得被單擊的列對象。通常用于排序。
ItemClick:單擊某行或某ListItem時觸發(fā)。參數(shù)中可以獲得被單擊的ListItem對象。
方法
FindItem:搜索ListItem對象。
參數(shù):
string:搜索字符串。
value:在ListItem的哪部分中搜索(LvwText、LvwSubItem、LvwTag);index:開始搜索的位置。
match:匹配方式。
HitTest:檢索位于特定坐標(biāo)處的ListItem對象。
ListView控件比前面幾種控件要復(fù)雜一些,通過此控件,可將項目組成帶有或不帶有列標(biāo)頭的列,并顯示伴隨的圖標(biāo)和文本。ListView控件是由ColumnHeader和ListItem對象所組成的,其中ColumnHeader對象的個數(shù)決定了控件的列數(shù),而ListItem對象的個數(shù)則決定了控件的行數(shù)。(圖7)
ColumnHeader對象是ListView控件中包含標(biāo)頭文字的項目。利用ColumnHeader對象,用戶可以:
▲單擊對象觸發(fā)ColumnClick事件并根據(jù)數(shù)據(jù)項目將項目排序。
▲拖動對象的右邊框來調(diào)整列寬度。
▲在報表視圖中隱藏ColumnHeader對象。
ColumnHeader對象的數(shù)目決定每個ListItem對象可包含的子項目數(shù)目。刪除ColumnHeader對象后所有與列關(guān)聯(lián)的子項目也將被刪除,并且每個ListItem對象的子項目數(shù)組將平移以更新ColumnHeader的索引,而這將導(dǎo)致剩余的列標(biāo)頭SubItemIndex屬性的改變。
ColumnHeader對象的SubItemIndex屬性
該屬性返回與ListView控件中ColumnHeader對象關(guān)聯(lián)的子項目的索引。子項目是字符串?dāng)?shù)組,代表顯示在報表視圖中的ListItem對象的數(shù)據(jù)。第一列的列標(biāo)頭SubItemIndex屬性設(shè)置為0,這是因為小圖標(biāo)和ListItem對象的文字總出現(xiàn)在第一列中,而且它們被當(dāng)作ListItem對象而不是子項目。列標(biāo)頭數(shù)目取決于子項目數(shù)目。列標(biāo)頭數(shù)目總是比子項目數(shù)目多1。
在設(shè)計時可以利用屬性頁的“列首”選項卡將ColumnHeader對象添加到ListView控件中,在運行時則用Add方法添加。
ColumnHeader對象的Add方法
該方法的使用與前面那些控件基本相似,就不再介紹了。
ListView1.ColumnHeader.Add(index,key,text,width,alignment)
ListItem對象是指控件中的一行(不包含標(biāo)頭行)的所有內(nèi)容。它也可包含文本和圖片,但是要使用圖片則必須通過Icons和SmallIcons屬性引用ImageList控件。
ListItem對象的SubItems屬性
返回或設(shè)置一個字符串(子項目)數(shù)組,它代表ListView控件中ListItem對象的數(shù)據(jù)。
ListItem對象可包含任意多個的關(guān)聯(lián)項目數(shù)據(jù)字符串(子項目),但每個ListItem對象子項目數(shù)目必須相同。每個子項目都對應(yīng)于相關(guān)的列標(biāo)頭,無法直接向子項目數(shù)組添加元素,只有通過ColumnHeaders的Add方法添加列標(biāo)頭的方法來添加子項目。
ListItem對象的Add方法
該方法添加ListItem對象到ListView控件的ListItems集合中并返回對新創(chuàng)建對象的引用。
它的語法如下:
ListItem1.Add(index,key,text,icon,smallIcon)
ListView控件的View屬性
ListView控件可使用四種不同視圖顯示項目,這可以用View屬性來確定。該屬性返回或設(shè)置ListView控件中ListItem對象的外觀。
ListView控件的SortOrder,SortKey和Sorted屬性
控件中的ListItem對象可以按要求進(jìn)行排序,與排序有關(guān)的屬性是SortOrder,Sorted和SortKey屬性。
SortOrder屬性返回或設(shè)置一個值,此值決定ListView控件中的ListItem對象以升序或降序排序。
SortKey屬性返回或設(shè)置一個值,此值決定ListView控件中的ListItem對象如何排序。
Sorted屬性返回或設(shè)置確定ListView控件中的ListItem對象是否排序的值。
下面的代碼說明了如何創(chuàng)建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關(guān)聯(lián)。使用關(guān)鍵字("Sex")指定正確的ColumnHeader。
itmX.SubItems(ListView1.ColumnHeaders("Sex").SubItemIndex)="男"
'使用ColumnHeader關(guān)鍵字將SubItems字符串與
'正確的ColumnHeader關(guān)聯(lián)。
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
list1.additem j 意思就是把j添加至list1列表中,這是在一個for 循環(huán)中,循環(huán)了10次,添加了10次 j,即 list1 中 有10列分別為:1,3,6,10,15,21,28,36,45,55
下面又來了一個循環(huán), list1.removeitem 刪除列,刪除的是 list1.listcount - i ,list1.listcount 就是總列數(shù)為10,減去 i ,i 是1到4,即10-1,9-2,8-3,7-4 每減掉一次,list1.listcount 就少了一條記錄。
(注意,list1.listcount-1 是最后一條記錄)
減掉了第 9,7,5,3列
剩余為 1,3,6,15,28,45
結(jié)果為:3,15,28
'ListCount返回列表框中的項目總數(shù)
'ListCount-1是列表框中最后一個項目的索引號
'虧你提醒了,我寫錯了,上面修改了,第一個索引為0,最后一個為9.
'也就是,問題所問的第二列的索引為1,第四列的索引為3...
使用動態(tài)定義
ReDim a() AS **********'定義一個動態(tài)數(shù)組
...........
計算出第一個Y
ReDim a(0)
a(0)=Y
.....................
計算出第二個Y
ReDim Preserve a(1) '再次分配元素并保留原有元素
a(1) =Y
.........................
.........................
ReDim Preserve a(N) '第N次分配元素并保留原有元素
a(N) =Y
網(wǎng)頁名稱:vb.net數(shù)組添加元素 vb使用數(shù)組
URL分享:http://jinyejixie.com/article38/dosggsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、定制網(wǎng)站、企業(yè)網(wǎng)站制作、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)