VB.Net列表框(ListBox)

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