Private Sub Form_Load() 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