VB ListView控件各種操作詳解

Private Sub Form_Load()
    'ListView1.SmallIcons = ImageList1.Object '把ImageList1圖標列表控件綁定到 ListView1列表控件中來。    
    ListView1.ListItems.Clear               '清空列表
    ListView1.ColumnHeaders.Clear           '清空列表頭
    ListView1.View = lvwReport              '設置列表顯示方式
    ListView1.GridLines = True              '顯示網絡線
    ListView1.LabelEdit = lvwManual         '禁止標籤編輯
    ListView1.FullRowSelect = True          '選擇整行
 
    ListView1.ColumnHeaders.Add , , "ID", 500 '給列表中添加列名
    ListView1.ColumnHeaders.Add , , "本地 IP", 1500
    ListView1.ColumnHeaders.Add , , "本地端口", 1200
    ListView1.ColumnHeaders.Add , , "協議", 550
    ListView1.ColumnHeaders.Add , , "遠程 IP", 1500
    ListView1.ColumnHeaders.Add , , "遠程端口", 900
    ListView1.ColumnHeaders.Add , , "當前狀態", 900
    ListView1.ColumnHeaders.Add , , "連接時間", 900
    '-------------------------------------------------------
    Dim X
    X = ListView1.ListItems.Count + 1
    ListView1.ListItems.Add , , X
    ListView1.ListItems(X).SubItems(1) = "00:00:00"
    ListView1.ListItems(X).SubItems(2) = "2008-01-01"
    ListView1.ListItems(X).SubItems(3) = "(無)"
    '-------------------------------------------------------
    ListView1.ListItems.Clear               '清空列表
    ListView1.ListItems.Add , , "1"
    'ListView1.ListItems.Add , , "1", , 1   '添加圖標 後面那個1是ImageList1控件中的圖標索引號
    ListView1.ListItems(1).SubItems(1) = "00:00:00"
    ListView1.ListItems(1).SubItems(2) = "2008-01-01"
    ListView1.ListItems(1).SubItems(3) = "(無)"
 
    ListView1.ListItems.Add , , "2"
    ListView1.ListItems(2).SubItems(1) = "00:00:01"
    ListView1.ListItems(2).SubItems(2) = "2008-01-01"
    ListView1.ListItems(2).SubItems(3) = "(無)"
    '-------------------------------------------------------
    '下列的屬性也可以 單擊控件右鍵->屬性 進行設置。
    ListView1.View = lvwReport              '設置顯示方式爲列表
    ListView1.AllowColumnReorder = True     '對行進行程序排列,用鼠標進行排列
    ListView1.Arrange = lvwAutoLeft         '圖標橫排列
    ListView1.Arrange = lvwAutoTop          '圖標豎排列
    ListView1.FlatScrollBar = False         '顯示滾動條
    ListView1.FlatScrollBar = True          '隱藏滾動條
    ListView1.FullRowSelect = True          '選擇整行
    ListView1.LabelEdit = lvwManual         '禁止標籤編輯
    ListView1.GridLines = True              '顯示網絡線
    ListView1.LabelWrap = True              '圖標可以換行
    ListView1.MultiSelect = True            '可以選擇多個項目
    ListView1.PictureAlignment = lvwTopLeft '圖片對齊方式是左頂部,其他有右頂部(1)、左底部(2)、右底部(3)、居中(4)、平鋪(5)
    ListView1.Checkboxes = True             '顯示覆選框
    'ListView1.DropHighlight = ListView1.ListItems.Item(2)   '顯示系統顏色
 
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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章