2016-07-12 129 views
2

我正在使用包含項目的下拉列表組合框創建程序:a,b,cd組合框下拉列表以更改變量

我想要做的是,當我在ComboBox中選擇一個項目,然後單擊一個按鈕時,x變量將會改變。例如,當我在組合框中選擇b時,x值將更改爲2

我需要這個變量的另一個功能。我如何更改x變量?

+0

[在組合框上設置DisplayMember和ValueMember](http://stackoverflow.com/q/38206678/1070452) – Plutonix

+0

我已經解決了這個問題,謝謝你的回覆 – Yon

回答

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是整數

+0

謝謝,目前即時通過使用'ComboBox.SelectedIndex',它解決了我的問題,與'ComboBox1.SelectedItem'有什麼不同? – Yon

+0

@Yon - 選定的索引獲取所選項目的位置。防爆。 '0'(First)或'1'(Second)或'2'(Third)e.t.c.選定的項目獲取所選項目的文本(在你的情況下:'a'或'b'或'c'或'd' e.t.c) – BanForFun

+0

@Yon - 標記答案,以便人們知道你解決了你的問題。 – BanForFun

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 
+0

我已經解決了這個問題,謝謝你的回覆 – Yon

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