轉 VB ListView控件各種操作詳解


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


免責聲明!

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



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