VB教程:列表框(ListBox)

字號:

6、列表框(List Box) 
    列表框為用戶提供了選項的列表。
    作用:顯示項目列表,用戶可從中選擇一個或多個項目。
    (1)List Box控件常用的方法
    方法
     描述
    AddItem
     向列表框添加新項目,其格式為:
    ListBox控件名.AddItem<項目>[,<索引值>]
    其中:
    <項目>為字符串表達式,表示添加到列表框中的新項目。
    <索引值>為數(shù)值表達式,指定在列表框中插入新項目的位置。若為0,則插入到第一個項目位置;若缺省且Sorted屬性為False,則插入到最后一個項目位置;
    若缺省且Sorted屬性為True,則插入到合適的排序位置。
    RemoveItem
     從列表框中刪除項目,其格式為:
    ListBox控件名.RemoveItem<索引值>
    Clear
     清除列表框中所有項目,其格式為:
    ListBox控件名.Clear
    例如添加代碼到List1列表框中,運行后的結(jié)果如下:
    Private Sub Form_Load()
    List1.AddItem "Germany"
    List1.AddItem "India"
    List1.AddItem "France"
    List1.AddItem "USA"
    List1.AddItem "Japan", 0
    List1.AddItem "China", 1
    End Sub
    要從列表中刪除項目,可使用RemoveItem方法,如要刪除列表中的第一個項目,可添加如下代碼:
    Private Sub Command1_Click()
     List1.RemoveItem 0
    End Sub
    要刪除連結(jié)版或標準版的列表框、組合框中的所有項目。可使用Clear方法:
    List1.Clear
    注意:
    1)可以在設計時添加項目。做法:選列表框“屬性”窗口中[List]屬性,在下拉的空白框中輸入項目,并按[CTRL]+[回車]鍵進行換行。
    2)只能在列表末端添加項目。
    3)如果要將列表按字母順序排序,則應將“Sorted”屬性設置為“True”,且省略索引(否則,使用帶有index參數(shù)的AddItem方法可能會導致不可預料的非排序結(jié)果),排序時不區(qū)分大小寫。
    (2)常用屬性
    屬性 描述 代碼及界面顯示
    List (1)在設計時可向列表框中添加新項目,輸人時用Ctrl+Enter組合鍵換行(2)在代碼中可用來訪問列表框中的所有項目,它包含了一個字符串數(shù)組,列表框中的每個項目都是這個數(shù)組的元素。其引用格式為:
    s$=ListBox控件名.List(索引值)
    其中:<索引值>為數(shù)值表達式,指定項目在列表中的位置,它是從0開始的。
    例:s$=list1.list(6)將列出list1的第七項內(nèi)容。
    Private Sub Command1_Click()
    Text1.Text = List1.List(2)
    End Sub
    也可改變數(shù)組中已有的值,格式:
    ListBox控件名.List(索引值)=s$
    例list1.list(3)="AAAA"將把list1的第四項的內(nèi)容設為AAAA。 Option Explicit
    Private Sub Command1_Click()
    Text1.Text = "You have" & List1.ListCount & "_entrifs lister"
    End Sub
    Private Sub Command2_Click()
    Text1.Text = List1.List(3)
    End Sub
    Private Sub Command3_Click()
    Text1.Text = List1.ListIndex
    End Sub
    Private Sub Form_Load()
    List1.AddItem "Germany"
    List1.AddItem "India"
    List1.AddItem "France"
    List1.AddItem "Canada"
    List1.AddItem "USA"
    List1.AddItem "Japan", 0
    List1.AddItem "China", 1
    End Sub
    Private Sub List1_Click()
    If List1.Text = "Canada" Then
    Text1.Text = "Canada have 24 million people."
    End If
    End Sub
    ListCount 返回列表框中項目的總數(shù),只在運行時可用。例:
    Private Sub Command2_Click()
    Text1.Text = "You have" & List1.ListCount & "_entrifs lister"
    End Sub
    ListIndex 返回在列表框中當前選定項目的位置,只在運行時可用。未選定任何項目時,其值為-l。例:
    Private Sub Command3_Click()
    Text1.Text = List1.ListIndex
    End Sub
    Text 存放當前在列表框中選定的項目,即List(ListIndex)的值。例:
    Private Sub List1_Click()
    If List1.Text = "Canada" Then
    Text1.Text = "Canada have 24 million people."
    End If
    End Sub
    Columns 指定列表框中的列數(shù)。其值為0時,列表框以垂直滾動的單列方式顯示;為l時,列表框以水平滾動的單列方式顯示;大于l時,列表框以水平滾動的多列方式顯示。 Option Explicit
    Private Sub Form_Load()
    Dim i As Integer
    For i = 0 To Screen.FontCount - 1
    List1.AddItem Screen.Fonts(i)'“Columns”屬性0
    List2.AddItem Screen.Fonts(i)'“Columns”屬性1
    Next i
    End Sub
    MultiSelect 表明是否允許用戶從列表框中選定多個項目以及選定的方式。其值為0時,只允許選擇一個項目,不允許復選;為1時,允許用戶通過單擊或按下空格鍵選定或撤消多個項目;為2時,允許用戶使用Shift和Ctrl組合操作來選定或撤消多個項目。
    語法結(jié)構(gòu): object.MultiSelect = [ Number ]
    Sorted 為True時,自動將列表按字母順序重新排列,排序時不區(qū)分大小寫。
    Style 表示列表框中項目的顯示形式,運行時只讀。其值為0時,為標準方式顯示;為1時,在每個項目前加上一個復選框。
    Selected 該屬性實際上是一個數(shù)組,各個元素的值為True或False,表明是否選擇了該項。
    用下面的語句可以檢查指定的表項是否被選擇(其中“索引值從0開始):
    ListBox控件名.Selected(索引值)
    用下面的語句可以選擇或取消指定的表項:
    ListBox控件名.Selected(索引值)=Ture│False