VB.Net - ListBox 列表框控件
ListBox 代表一个向用户显示项目列表的 Windows 控件。 用户可以从列表中选择一个项目。 它允许程序员在设计时使用属性窗口或在运行时添加项目。
让我们通过从工具箱中拖动 ListBox 控件并将其放到窗体上来创建一个列表框。
您可以从属性窗口或在运行时填充列表框项目。 要将项目添加到列表框,请选择列表框控件并进入属性窗口,了解该控件的属性。 单击 Items 属性旁边的省略号 (...) 按钮。 这将打开"字符串集合编辑器"对话框,您可以在其中一行输入一个值。
列表框控件的属性
以下是ListBox控件的一些常用属性 −
序号 | 属性 &描述 |
---|---|
1 | AllowSelection 获取一个值,该值指示 ListBox 当前是否允许选择列表项。 |
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 获取或设置在列表框中选择项目的方法。 该属性有值 −
|
16 | Sorted 获取或设置一个值,该值指示列表框中的项目是否按字母顺序排序。 |
17 | Text 获取或搜索列表框中当前所选项目的文本。 |
18 | TopIndex 获取或设置列表框第一个可见项的索引。 |
列表框控件的方法
以下是ListBox控件的一些常用方法 −
序号 | 方法名称 & 描述 |
---|---|
1 | BeginUpdate 在调用 EndUpdate 方法之前阻止控件进行绘制,同时将项目一次添加到 ListBox 中。 |
2 |
ClearSelected 取消选择列表框中的所有项目。 |
3 |
EndUpdate 在被 BeginUpdate 方法关闭后恢复列表框的绘制。 |
4 |
FindString 查找列表框中以指定为参数的字符串开头的第一项。 |
5 |
FindStringExact 查找 ListBox 中与指定字符串完全匹配的第一项。 |
6 |
GetSelected 返回一个值,指示是否选择了指定的项目。 |
7 |
SetSelected 选择或清除列表框中指定项目的选择。 |
8 |
OnSelectedIndexChanged 引发 SelectedIndexChanged 事件。 |
8 |
OnSelectedValueChanged 引发 SelectedValueChanged 事件。 |
列表框控件的事件
以下是ListBox控件的一些常用事件 −
序号 | 事件 & 描述 |
---|---|
1 |
Click 选择列表框时发生。 |
2 |
SelectedIndexChanged 当列表框的 SelectedIndex 属性更改时发生。 |
有关 ListBox 控件的属性、方法和事件的详细列表,请参阅 Microsoft 文档。
示例 1
在下面的示例中,让我们在设计时添加一个列表框,并在运行时在其上添加项目。
请执行以下步骤 −
将两个标签、一个按钮和一个列表框控件拖放到窗体上。
设置第一个标签的 Text 属性以提供标题"选择您最喜欢的高等教育目的地"。
设置第二个标签的 Text 属性以提供标题"Destination"。 当用户选择列表中的项目时,此标签上的文本将在运行时发生变化。
单击列表框和按钮控件以在代码编辑器中添加以下代码。
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' 设置表单的标题栏文本。 Me.Text = "tutorialspont.com" ListBox1.Items.Add("Canada") ListBox1.Items.Add("USA") ListBox1.Items.Add("UK") ListBox1.Items.Add("Japan") ListBox1.Items.Add("Russia") ListBox1.Items.Add("China") ListBox1.Items.Add("India") End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click MsgBox("You have selected " + 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
当使用 Microsoft Visual Studio 工具栏上的"开始"按钮执行并运行上述代码时,它将显示以下窗口 −
当用户选择目的地时,第二个标签中的文本会发生变化 −
单击"选择"按钮将显示一个包含用户选择的消息框 −
示例 2
在此示例中,我们将用项目填充列表框、检索列表框中的项目总数、对列表框进行排序、删除一些项目并清除整个列表框。
设计表单 −
在代码编辑器窗口中添加以下代码 −
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' 设置表单的标题栏文本。 Me.Text = "tutorialspont.com" ' 创建多列和多选列表框 ListBox1.MultiColumn = True ListBox1.SelectionMode = SelectionMode.MultiExtended End Sub '填充列表 Private Sub Button1_Click_1(sender As Object, e As EventArgs) _ Handles Button1.Click ListBox1.Items.Add("Safety") ListBox1.Items.Add("Security") ListBox1.Items.Add("Governance") ListBox1.Items.Add("Good Music") ListBox1.Items.Add("Good Movies") ListBox1.Items.Add("Good Books") ListBox1.Items.Add("Education") ListBox1.Items.Add("Roads") ListBox1.Items.Add("Health") ListBox1.Items.Add("Food for all") ListBox1.Items.Add("Shelter for all") ListBox1.Items.Add("Industrialisation") ListBox1.Items.Add("Peace") ListBox1.Items.Add("Liberty") ListBox1.Items.Add("Freedom of Speech") End Sub '对列表进行排序 Private Sub Button2_Click(sender As Object, e As EventArgs) _ Handles Button2.Click ListBox1.Sorted = True End Sub '清除列表 Private Sub Button3_Click(sender As Object, e As EventArgs) _ Handles Button3.Click ListBox1.Items.Clear() End Sub '删除所选项目 Private Sub Button4_Click(sender As Object, e As EventArgs) _ Handles Button4.Click ListBox1.Items.Remove(ListBox1.SelectedItem.ToString) End Sub '计算项目数量 Private Sub Button5_Click(sender As Object, e As EventArgs) _ Handles Button5.Click Label1.Text = ListBox1.Items.Count End Sub '在第三个标签上显示所选项目 Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) _ Handles ListBox1.SelectedIndexChanged Label3.Text = ListBox1.SelectedItem.ToString() End Sub End Class
当使用 Microsoft Visual Studio 工具栏上的"开始"按钮执行并运行上述代码时,它将显示以下窗口 −
填写列表并检查其他按钮的工作情况 −