VB.Net ComboBox 控件及示例

什么是组合框控件?

组合框控件可帮助您显示一个包含许多项目的下拉列表。可以将其视为一个文本框(用户在其中输入文本)和一个下拉列表(用户从中选择项目)的组合。请注意,组合框一次只显示一个项目。

创建组合框

组合框可以如下创建

步骤 1) 创建一个新的应用程序。

步骤 2) 从工具箱将组合框控件拖到窗体上。

Creating a Combobox

您将已创建了一个组合框控件。

向组合框添加项目

既然我们已经创建了组合框,让我们演示如何向其中添加项目。

双击您已添加的组合框控件。您将从设计选项卡切换到代码选项卡。

要向组合框控件添加项目,我们使用 Items 属性。让我们通过向组合框添加两个项目“男”和“女”来演示这一点。

ComboBox1.Items.Add("Male")
ComboBox1.Items.Add("Female")

我们也可以选择在设计时从属性窗口向组合框添加项目。步骤如下:

步骤 1) 打开设计选项卡并单击组合框控件。

步骤 2) 转到属性窗口并查看 Items 选项。

步骤 3) 单击位于 (Collection) 右侧的“…”按钮。

Adding Items to Combobox

步骤 4)您将看到一个新窗口。您应该在此处向组合框添加项目,如下所示:

Adding Items to Combobox

步骤 5) 输入完项目后,单击“确定”按钮。

步骤 6) 单击顶部工具栏中的“开始”按钮,然后单击组合框上的下拉图标。

Adding Items to Combobox

项目已成功添加到组合框控件。

选择组合框项目

您可能需要设置窗体加载时默认选中的项目。您可以通过 SelectedItem() 方法来实现这一点。例如,要将默认选择的性别设置为“男”,您可以使用以下语句:

ComboBox1.SelectedItem = "Male"

运行代码后,组合框控件应如下所示:

Selecting Combobox Items

检索组合框值

您可以获取组合框中选定的项目。这可以通过 text 属性来完成。让我们使用我们上面有两个项目(即“男”和“女”)的组合框来演示这一点。请遵循以下步骤:

步骤 1) 双击组合框以打开包含 VB.NET 代码的选项卡。

步骤 2) 添加以下代码:

Public Class Form1
    Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChanged

        Dim var_gender As String

        var_gender = ComboBox1.Text

        MessageBox.Show(var_gender)
		
    End Sub
End Class

步骤 3) 单击工具栏中的“开始”按钮以执行代码。您应该会看到以下窗体:

Retrieving Combobox Values

步骤 4) 单击下拉按钮并选择您的性别。在我的例子中,我选择了“男”,然后我得到以下结果:

Retrieving Combobox Values

这是代码的屏幕截图:

Retrieving Combobox Values

代码解释

  1. 创建一个名为 Form1 的类。该类将是公共可访问的,因为其访问修饰符已设置为 Public。
  2. 名为 ComboBox1_SelectedIndexChanged 的子过程开始。当您从设计选项卡双击组合框控件时,它会自动生成。当您从组合框中选择项目时,将调用此子过程。sd As Object 引用了引发事件的对象,而 event As EventArgs 包含事件数据 s。
  3. 创建一个名为 var_gender 的字符串整数。
  4. 将变量 var_gender 的值设置为在组合框中选择的项目。
  5. 在 MesageBox 中打印变量 var_gender 的值。
  6. ComboBox1_SelectedIndexChanged 子过程结束。
  7. Form1 类结束。

移除组合框项目

您可以从组合框中移除项目。您可以通过两种方式完成此操作。您可以使用项目索引或项目名称。

使用项目索引时,您应该使用 Items.RemoveAt() 属性,如下所示:

ComboBox1.Items.RemoveAt(1)

在上面的示例中,我们正在移除位于组合框索引 1 处的项目。请注意,组合框索引从索引 0 开始,这意味着上述命令将移除组合框中的第二个项目。

要使用名称移除项目,您应该使用 Items.Remove() 属性,如下所示:

ComboBox1.Items.Remove("Female")

上面的代码应该会从 ComboBox1 中移除名为 Female 的项目。

绑定数据源

可以通过从数据集中填充组合框。考虑下面的 SQL 查询:

select emp_id, emp_name from employees; 

您可以在程序中创建数据源,然后使用以下代码绑定它:

comboBox1.DataSource = ds.Tables(0)
comboBox1.ValueMember = "emp_id"
comboBox1.DisplayMember = "emp_name"

这将为您提供一种简单的方法来使用数据填充组合框控件,而无需键入每个单独的项目。

SelectedIndexChanged 事件

当您更改组合框中的选定项目时,将调用此类事件。当您需要在更改组合框中的选定项目时执行操作时,应使用此事件。让我们通过示例来演示这一点:

步骤 1) 创建一个新的 Windows 窗体应用程序。

步骤 2) 之后,您需要将两个组合框控件拖放到窗体上。

SelectedIndexChanged event

步骤 3) 双击窗体内部以打开代码选项卡。输入以下代码:

Public Class Form1
    Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.Load

        ComboBox1.Items.Add("Males")

        ComboBox1.Items.Add("Females")

    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged

        ComboBox2.Items.Clear()

        If ComboBox1.SelectedItem = "Males" Then

            ComboBox2.Items.Add("Nicholas")

            ComboBox2.Items.Add("John")

        ElseIf ComboBox1.SelectedItem = "Females" Then

            ComboBox2.Items.Add("Alice")

            ComboBox2.Items.Add("Grace")

        End If
    End Sub
End Class

步骤 4) 单击顶部栏中的“开始”按钮以运行代码。您应该会看到以下输出:

SelectedIndexChanged event

步骤 5) 单击第一个组合框上的下拉按钮并选择“男”。将鼠标光标移到第二个组合框上,然后单击其下拉按钮。查看可用项目:

SelectedIndexChanged event

步骤 6) 移至第一个组合框并选择“女”。移至第二个组合框并查看可用项目:

SelectedIndexChanged event

这是代码的屏幕截图:

SelectedIndexChanged event

代码解释

  1. 创建一个名为 Form1 的类。
  2. 名为 Form1_Load() 的子过程开始。当窗体加载时,它将被触发。sd As Object 引用了引发事件的对象,而 system As EventArgs 包含事件数据。
  3. 将项目 Males 添加到 ComboBox1。
  4. 将项目 Females 添加到 ComboBox1。
  5. Form1_Load() 子过程结束。
  6. 名为 ComboBox1_SelectedIndexChanged() 的子过程开始。当在第一个组合框中选择项目时,将调用此过程。sender As Object 引用了引发事件的对象,而 e As EventArgs 包含事件数据。
  7. 使 ComboBox2 为空,清除其中的所有项目。
  8. 创建一个条件。检查 ComboBox1 中的选定项目是否为 Males。
  9. 当上述条件为真时(即,在 ComboBox1 中选择的项目是 Male),将项目 Nicholas 添加到 ComboBox2。
  10. 当上述条件为真时(即,在 ComboBox1 中选择的项目是 Males),将项目 John 添加到 ComboBox2。
  11. 创建一个条件。检查 ComboBox1 中的选定项目是否为 Females。
  12. 当上述条件为真时(即,在 ComboBox1 中选择的项目是 Females),将项目 Alice 添加到 ComboBox2。
  13. 当上述条件为真时(即,在 ComboBox1 中选择的项目是 Females),将项目 Grace 添加到 ComboBox2。
  14. If 块结束。
  15. ComboBox1_SelectedIndexChanged() 子过程结束。
  16. Form1 类结束。

摘要

  • 通过从工具箱拖动组合框并将其放到窗体上来创建组合框。
  • 它为我们提供了一种向用户呈现多种选项的方式。
  • 我们可以在加载窗体时设置组合框中默认选中的项目。
  • SelectedIndexChanged 事件帮助我们指定在组合框中选择特定项目时要执行的操作。