列表框(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对话框