组合框下拉列表更改变量

时间:2016-07-12 13:23:01

标签: .net vb.net data-binding combobox

我正在使用下拉列表组合框创建一个程序,其中包含以下项目:abcd

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

我需要这个变量用于另一个函数。如何更改x变量?

3 个答案:

答案 0 :(得分:2)

If ComboBox1.SelectedItem.ToString = "a" Then
    x = 1
ElseIf ComboBox1.SelectedItem.ToString = "b" Then
    x = 2
ElseIf ComboBox1.SelectedItem.ToString = "c" Then
    x = 3
ElseIf ComboBox1.SelectedItem.ToString = "d" Then
    x = 4
End If

假设x是整数

答案 1 :(得分:2)

或者您可以使用Select Case语句

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

答案 2 :(得分:0)

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

    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