VB.Net - ListBox 控件



ListBox 代表一个 Windows 控件,用于向用户显示项目列表。用户可以从列表中选择一个项目。它允许程序员在设计时使用属性窗口或在运行时添加项目。

让我们通过从工具箱拖动 ListBox 控件并将其放在窗体上创建一个列表框。

VB.Net List Box

您可以从属性窗口或在运行时填充列表框项目。要向 ListBox 添加项目,请选择 ListBox 控件并转到其属性窗口。单击“项目”属性旁边的省略号 (...) 按钮。这将打开“字符串集合编辑器”对话框,您可以在其中逐行输入值。

ListBox 控件的属性

以下是 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

获取或设置在列表框中选择项目的方法。此属性具有以下值:

  • None
  • One
  • MultiSimple
  • MultiExtended

16

Sorted

获取或设置一个值,指示列表框中的项目是否按字母顺序排序。

17

Text

获取或搜索列表框中当前所选项目的文本。

18

TopIndex

获取或设置列表框中第一个可见项目的索引。

ListBox 控件的方法

以下是 ListBox 控件的一些常用方法:

序号 方法名称和说明
1

BeginUpdate

在一次一个地向 ListBox 添加项目时,防止控件绘制,直到调用 EndUpdate 方法。

2

ClearSelected

取消选择 ListBox 中的所有项目。

3

EndUpdate

在 BeginUpdate 方法将其关闭后,恢复列表框的绘制。

4

FindString

查找 ListBox 中以指定为参数的字符串开头的第一个项目。

5

FindStringExact

查找 ListBox 中与指定字符串完全匹配的第一个项目。

6

GetSelected

返回一个值,指示指定的项目是否已选中。

7

SetSelected

选择或清除 ListBox 中指定项目的选中状态。

8

OnSelectedIndexChanged

引发 SelectedIndexChanged 事件。

8

OnSelectedValueChanged

引发 SelectedValueChanged 事件。

ListBox 控件的事件

以下是 ListBox 控件的一些常用事件:

序号 事件和说明
1

Click

当选择列表框时发生。

2

SelectedIndexChanged

当列表框的 SelectedIndex 属性发生更改时发生。

请参阅 Microsoft 文档以了解 ListBox 控件的属性、方法和事件的详细列表。

示例 1

在下面的示例中,让我们在设计时添加一个列表框,并在运行时向其中添加项目。

请按照以下步骤操作:

  • 将两个标签、一个按钮和一个 ListBox 控件拖放到窗体上。

  • 将第一个标签的 Text 属性设置为“选择您最喜欢的深造目的地”。

  • 将第二个标签的 Text 属性设置为“目的地”。当用户在列表中选择一个项目时,此标签上的文本将在运行时更改。

  • 单击列表框和按钮控件,在代码编辑器中添加以下代码。(此处省略示例代码,因为原文未提供)

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 = "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 工具栏上的“启动”按钮执行和运行上述代码时,它将显示以下窗口:(此处省略图片)

Result Form

当用户选择一个目的地时,第二个标签中的文本会更改:(此处省略图片)

Result Form

单击“选择”按钮将显示一个包含用户选择的对话框:(此处省略图片)

List Example Dialog Box

示例 2

在这个例子中,我们将用项目填充一个列表框,检索列表框中的项目总数,对列表框进行排序,删除一些项目并清除整个列表框。

设计窗体:(此处省略)

List Box Example2

在代码编辑器窗口中添加以下代码:(此处省略示例代码,因为原文未提供)

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 = "tutorialspont.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 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
   'sorting the list
   Private Sub Button2_Click(sender As Object, e As EventArgs) _
      Handles Button2.Click
      ListBox1.Sorted = True
   End Sub
   
   'clears the list
   Private Sub Button3_Click(sender As Object, e As EventArgs) _
      Handles Button3.Click
      ListBox1.Items.Clear()
   End Sub
   
   'removing the selected item
   Private Sub Button4_Click(sender As Object, e As EventArgs) _
          Handles Button4.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 Button5.Click
      Label1.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
      Label3.Text = ListBox1.SelectedItem.ToString()
   End Sub
End Class

当使用 Microsoft Visual Studio 工具栏上的“启动”按钮执行和运行上述代码时,它将显示以下窗口:(此处省略图片)

Result Form List Box Example 2

填充列表并检查其他按钮的功能:(此处省略)

Result Form List Box Example 2
vb.net_basic_controls.htm
广告