.net 用于更改变量的组合框下拉列表

.net 用于更改变量的组合框下拉列表,.net,vb.net,data-binding,combobox,.net,Vb.net,Data Binding,Combobox,我正在创建一个带有下拉列表组合框的程序,其中包含以下项目:a、b、c和d 我想做的是,当我在组合框中选择一个项目,然后单击一个按钮时,x变量将改变。例如,当我在组合框中选择b时,x值将变为2 我需要这个变量作为另一个函数。如何更改x变量 如果ComboBox1.SelectedItem.ToString=“a”,则 x=1 ElseIf ComboBox1.SelectedItem.ToString=“b”然后 x=2 ElseIf ComboBox1.SelectedItem.ToString

我正在创建一个带有下拉列表组合框的程序,其中包含以下项目:
a
b
c
d

我想做的是,当我在组合框中选择一个项目,然后单击一个按钮时,x变量将改变。例如,当我在组合框中选择
b
时,x值将变为
2

我需要这个变量作为另一个函数。如何更改
x
变量

如果ComboBox1.SelectedItem.ToString=“a”,则
x=1
ElseIf ComboBox1.SelectedItem.ToString=“b”然后
x=2
ElseIf ComboBox1.SelectedItem.ToString=“c”然后
x=3
ElseIf ComboBox1.SelectedItem.ToString=“d”然后
x=4
如果结束

假设x是一个整数,或者可以使用Select Case语句

Select Case ComboBox1.Text
    Case "a"
        x = 1 
    Case "b"
        x = 2
    Case "c"
        x = 3
    Case "d"
        x = 4
End Select

最好的方法是将数据源绑定到组合框。这样,如果您决定稍后添加新值或更改其工作方式,则所有这些都集中在一个地方:

    Dim dict As New Dictionary(Of String, Integer)
    dict.Add("a", 1)
    dict.Add("b", 2)
    dict.Add("c", 3)
    dict.Add("d", 4)
    ComboBox1.DisplayMember = "Key"
    ComboBox1.ValueMember = "Value"
    ComboBox1.DataSource = New BindingSource(dict, Nothing)
然后,在SelectedValueChanged事件中,您可以读取
x
的值:

Private Sub ComboBox1_SelectedValueChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedValueChanged
    If ComboBox1.SelectedValue IsNot Nothing Then x = CInt(ComboBox1.SelectedValue)
End Sub

我已经解决了这个问题,谢谢你的回复。谢谢你,目前我使用的是
组合框。SelectedIndex
解决了我的问题,它与
组合框1有什么区别?顺便说一句,SelectedItem
。@Yon-Selected index获取所选项目的位置。例如,
0
(第一)或
1
(第二)或
2
(第三)e.t.c.所选项目获取所选项目的文本(在您的情况下:
a
b
c
d
e.t.c)@Yon-标记一个答案,以便人们知道您解决了问题。我已经解决了问题,谢谢您的回复