1. 程式人生 > >VB ListView控件各種操作詳解

VB ListView控件各種操作詳解

auto .com 設置 查看 右鍵 src 行為 ade 在線

VB ListView控件各種操作詳解

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

VB ListView控件各種操作詳解