列表框(ListBox)代表一個Windows控件,向用戶顯示專案列表。用戶可以從列表中選擇一個專案。 它允許程式員在設計時使用屬性窗口或運行時添加專案。
可通過從工具箱中拖動一個ListBox控件並將其放在窗體上來創建一個列表框。如下所示 -
可以從屬性窗口或運行時填充列表框專案。要將專案添加到ListBox,請選擇ListBox控件並轉到屬性窗口,以獲取此控件的屬性。 單擊Items 屬性旁邊的省略號(…)按鈕。 這將打開“字串集合編輯器”對話框,在其中輸入一行的值。
ListBox控件的屬性
以下是ListBox 控件的一些常用屬性:
編號 | 屬性 | 示例 |
---|---|---|
1 | AllowSelection |
獲取一個值,該值指示列表框當前是否允許選擇列表項。 |
2 | BorderStyle |
獲取或設置在列表框周圍繪製的邊框的類型。 |
3 | ColumnWidth |
獲取設置多列列表框中列的寬度。 |
4 | HorizontalExtent |
獲取或設置列表框的水準滾動區域。 |
5 | HorizontalScrollBar |
獲取或設置指示是否在列表框中顯示水準滾動條的值。 |
6 | ItemHeight |
獲取或設置列表框中專案的高度。 |
7 | Items |
獲取列表框的專案。 |
8 | MultiColumn |
獲取或設置一個值,該值指示列表框是否支持多列。 |
9 | ScrollAlwaysVisible |
獲取或設置一個值,指示是否始終顯示垂直滾動條。 |
10 | SelectedIndex |
獲取或設置列表框中當前選定專案的從零開始的索引。 |
11 | SelectedIndices |
獲取一個集合,其中包含列表框中所有當前選定專案的從零開始的索引。 |
12 | SelectedItem |
獲取或設置列表框中當前選定的專案。 |
13 | SelectedItems |
獲取包含列表框中當前選定專案的集合。 |
14 | SelectedValue |
獲取或設置由ValueMember 屬性指定的成員屬性的值。 |
15 | SelectionMode |
獲取或設置在列表框中選擇專案的方法。該屬性具有值:oneOne ,MultiSimple ,MultiExtended |
16 | Sorted |
獲取或設置一個值,該值指示列表框中的專案是否按字母順序排序。 |
17 | Text |
獲取或搜索列表框中當前選定專案的文本。 |
18 | TopIndex |
獲取或設置列表框第一個可見項的索引。 |
編號 | 方法 | 示例 |
---|---|---|
1 | BeginUpdate |
防止控件繪製,直到調用EndUpdate 方法,而專案一次添加到列表框。 |
2 | ClearSelected |
取消選擇列表框中的所有專案。 |
3 | EndUpdate |
在由BeginUpdate 方法關閉後,繼續列表框的繪圖。 |
4 | FindString |
查找ListBox 中以指定為參數的字串開頭的第一個專案。 |
5 | FindStringExact |
查找ListBox 中與指定字串完全匹配的第一個專案。 |
6 | GetSelected |
返回一個值,指示是否選擇指定的專案。 |
7 | SetSelected |
選擇或清除ListBox 中指定專案的選擇。 |
8 | OnSelectedIndexChanged |
引發SelectedIndexChanged 事件。 |
9 | OnSelectedValueChanged |
引發SelectedValueChanged 事件。 |
編號 | 事件 | 示例 |
---|---|---|
1 | Click |
在選擇列表框時發生。 |
2 | SelectedIndexChanged |
在列表框的SelectedIndex屬性發生更改時發生。 |
請參閱Microsoft文檔以獲取ListBox控件的屬性,方法和事件的詳細列表。
示例1
在下面的例子中,在設計時添加一個列表框,並在運行時添加專案。
參考以下步驟:
- 在窗體上拖放兩個標籤,一個按鈕和一個ListBox控件。
- 設置第一個標籤的文本屬性,以提供標題“選擇您最喜歡學習的語言”。
- 設置第二個標籤的Text屬性以提供標題“Destination”。當用戶選擇列表中的專案時,此標籤上的文本將在運行時更改。
- 單擊列表框和按鈕控件以在代碼編輯器中添加以下代碼。
參考以下實現代碼 -
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Set the caption bar text of the form.
Me.Text = "ListBox - by xuhuhu.com"
ListBox1.Items.Add("加拿大")
ListBox1.Items.Add("俄羅斯")
ListBox1.Items.Add("印度")
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MsgBox("您的選擇是: " + ListBox1.SelectedItem.ToString())
End Sub
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
Label2.Text = ListBox1.SelectedItem.ToString()
End Sub
End Class
執行上面示例代碼,得到以下結果 -
當選擇其中的一個專案:俄羅斯,然後點擊確定,得到以下結果 -
示例2
在這個例子中,我們將填充一個帶有專案的列表框,檢索列表框中專案的總數,對列表框進行排序,刪除一些專案,以及清除整個列表框的選項。
設計窗體如下:
參考以下示例代碼 -
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Set the caption bar text of the form. '
Me.Text = "ListBox Demo2 - xuhuhu.com"
' creating multi-column and multiselect list box '
ListBox1.MultiColumn = True
ListBox1.SelectionMode = SelectionMode.MultiExtended
End Sub
'populates the list '
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles btnFill.Click
ListBox1.Items.Add("泡到一妞")
ListBox1.Items.Add("學習精通各種演算法")
ListBox1.Items.Add("努力學習並得到獎學金")
ListBox1.Items.Add("周遊全國")
End Sub
'sorting the list '
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnSorted.Click
ListBox1.Sorted = True
End Sub
'clears the list '
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles btnClear.Click
ListBox1.Items.Clear()
End Sub
'removing the selected item '
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles btnRemove.Click
ListBox1.Items.Remove(ListBox1.SelectedItem.ToString())
End Sub
'counting the numer of items '
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles btnCount.Click
countLabel.Text = ListBox1.Items.Count
End Sub
'displaying the selected item on the third label '
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) _
Handles ListBox1.SelectedIndexChanged
currSelectedLabel.Text = ListBox1.SelectedItem.ToString()
End Sub
End Class
執行上面示例代碼,得到以下結果 -
注意:專案代碼為basecontrol/ListBox2 中的源代碼。
上一篇:
VB.Net基本控件
下一篇:
VB.Net對話框