VB ListView控件各種操作詳解


VB ListView控件各種操作詳解

 
[vb]  view plain copy 在CODE上查看代碼片 派生到我的代碼片
 
  1. Private Sub Form_Load()  
  2.     'ListView1.SmallIcons = ImageList1.Object '把ImageList1圖標列表控件綁定到 ListView1列表控件中來。      
  3.     ListView1.ListItems.Clear               '清空列表  
  4.     ListView1.ColumnHeaders.Clear           '清空列表頭  
  5.     ListView1.View = lvwReport              '設置列表顯示方式  
  6.     ListView1.GridLines = True              '顯示網絡線  
  7.     ListView1.LabelEdit = lvwManual         '禁止標簽編輯  
  8.     ListView1.FullRowSelect = True          '選擇整行  
  9.   
  10.     ListView1.ColumnHeaders.Add , , "ID", 500 '給列表中添加列名  
  11.     ListView1.ColumnHeaders.Add , , "本地 IP", 1500  
  12.     ListView1.ColumnHeaders.Add , , "本地端口", 1200  
  13.     ListView1.ColumnHeaders.Add , , "協議", 550  
  14.     ListView1.ColumnHeaders.Add , , "遠程 IP", 1500  
  15.     ListView1.ColumnHeaders.Add , , "遠程端口", 900  
  16.     ListView1.ColumnHeaders.Add , , "當前狀態", 900  
  17.     ListView1.ColumnHeaders.Add , , "連接時間", 900  
  18.     '-------------------------------------------------------  
  19.     Dim X  
  20.     X = ListView1.ListItems.Count + 1  
  21.     ListView1.ListItems.Add , , X  
  22.     ListView1.ListItems(X).SubItems(1) = "00:00:00"  
  23.     ListView1.ListItems(X).SubItems(2) = "2008-01-01"  
  24.     ListView1.ListItems(X).SubItems(3) = "(無)"  
  25.     '-------------------------------------------------------  
  26.     ListView1.ListItems.Clear               '清空列表  
  27.     ListView1.ListItems.Add , , "1"  
  28.     'ListView1.ListItems.Add , , "1", , 1   '添加圖標 后面那個1是ImageList1控件中的圖標索引號  
  29.     ListView1.ListItems(1).SubItems(1) = "00:00:00"  
  30.     ListView1.ListItems(1).SubItems(2) = "2008-01-01"  
  31.     ListView1.ListItems(1).SubItems(3) = "(無)"  
  32.   
  33.     ListView1.ListItems.Add , , "2"  
  34.     ListView1.ListItems(2).SubItems(1) = "00:00:01"  
  35.     ListView1.ListItems(2).SubItems(2) = "2008-01-01"  
  36.     ListView1.ListItems(2).SubItems(3) = "(無)"  
  37.     '-------------------------------------------------------  
  38.     '下列的屬性也可以 單擊控件右鍵->屬性 進行設置。  
  39.     ListView1.View = lvwReport              '設置顯示方式為列表  
  40.     ListView1.AllowColumnReorder = True     '對行進行程序排列,用鼠標進行排列  
  41.     ListView1.Arrange = lvwAutoLeft         '圖標橫排列  
  42.     ListView1.Arrange = lvwAutoTop          '圖標豎排列  
  43.     ListView1.FlatScrollBar = False         '顯示滾動條  
  44.     ListView1.FlatScrollBar = True          '隱藏滾動條  
  45.     ListView1.FullRowSelect = True          '選擇整行  
  46.     ListView1.LabelEdit = lvwManual         '禁止標簽編輯  
  47.     ListView1.GridLines = True              '顯示網絡線  
  48.     ListView1.LabelWrap = True              '圖標可以換行  
  49.     ListView1.MultiSelect = True            '可以選擇多個項目  
  50.     ListView1.PictureAlignment = lvwTopLeft '圖片對齊方式是左頂部,其他有右頂部(1)、左底部(2)、右底部(3)、居中(4)、平鋪(5)  
  51.     ListView1.Checkboxes = True             '顯示復選框  
  52.     'ListView1.DropHighlight = ListView1.ListItems.Item(2)   '顯示系統顏色  
  53.   
  54. End Sub  


常用操作:
獲取當前行數和列數:

 

MsgBox "行數:" & ListView1.ListItems.Count & "列數:" & ListView1.ColumnHeaders.Count
Private Sub ListView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
    ListView1.ToolTipText = "行數:" & ListView1.ListItems.Count & "列數:" & ListView1.ColumnHeaders.Count
End Sub

設置寬度:

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

當前選中行:

MsgBox ListView1.SelectedItem.Index

獲取復選框的值:

MsgBox ListView1.ListItems(1).Checked

刪除指定行:

ListView1.ListItems.Remove 1

去掉鼠標左鍵點擊標簽編輯:
labeledit屬性改為1

讀取某行第一列內容:

ListView1.ListItems(i).Text

讀取某行第幾列內容 (不包括第一列):

ListView1.ListItems(Num).SubItems (4)

讀取當前選中行第一列內容:

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

循環查找讀取項目:

Dim i As Integer
For i = 1 To ListView1.ListItems.Count
    If ListView1.ListItems(i).Text = 4 Then MsgBox ListView1.ListItems(i).Text '第一列
    If ListView1.ListItems(i).SubItems(1) = 4 Then MsgBox ListView1.ListItems(i).SubItems(1) '第二列
Next i

清空列表頭:

ListView1.ColumnHeaders.Clear

清空列表:

ListView1.ListItems.Clear

右鍵菜單:

Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = vbRightButton Then PopupMenu CommandLst '按下鼠標右鍵 顯示菜單
End Sub

當前選中判斷:

Dim N
If ListView1.ListItems.Count <> 0 Then N = ListView1.SelectedItem.Index Else MsgBox "當前沒有任何主機在線!", vbInformation, "警告:": Exit Sub
If N < 1 Then MsgBox "你沒有選中任何主機!", vbInformation, "警告:": Exit Sub

VB設置某行為選中/非選中狀態:

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

設置ListView  item項顏色

ListView1.ListItems(i).ForeColor = vbRed
ListView1.ListItems(i).ListSubItems.Item(1).ForeColor = vbRed
ListView1.ListItems(i).ListSubItems.Item(2).ForeColor = vbRed


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM