2017-10-17 41 views
1

對於這個問題我做了一個簡單的類:查找ComboBox項

Public Class ListBoxEntry 
    Public Property ID As Integer 
    Public Property Text As String 

    Public Overrides Function ToString() As String 
     Return Text 
    End Function 
End Class 

我創建了這個類的一些實例並將它們添加到組合框:

... 
While DR.Read 
    LI = New ListBoxEntry 
    LI.ID = DR("ID") ' ID is an integer value 
    LI.Text = DR(Feldname) ' Feldname is a string 
    cmbList.Items.Add(LI) 
End While 

我不能得到一個工作代碼通過代碼將組合框設置爲特定值。 例如這些是我的三個條目(ID - Feldname):

1 - One (value 1, shown text in combobox "One") 
2 - Two (value 2, shown text in combobox "Two") 
3 - Three (value 3, shown text in combobox "Three") 

Combobox1.SelectedIndex = somehow(2) <- here I want to set the combobox to the second entry (2), so "two" is selected 

我需要哪種代碼和平?

+0

顯然你可以使用任何你想要的命名約定,但爲什麼你認爲你需要那個類型名稱上的'cls'前綴?您始終使用.NET Framework中的類,但沒有這樣的前綴,因此它的用途是什麼? – jmcilhinney

+0

我知道 - 我爲這個問題添加了cls的東西,並認爲這會有所幫助。我不會再這樣做。感謝您的提示 –

+0

鑑於'Class'關鍵字在聲明中的類名前面,它沒有任何幫助。即使沒有聲明,人們通常會認爲大多數類型都是類,這絕對應該是這種情況,所以你只需要指出何時是結構。無論如何,這通常無關緊要,但視情況而定,這可能至關重要。 – jmcilhinney

回答

2

您應該將類​​的實例添加到數組或集合,然後將其綁定到您的ComboBox(例如,

With ComboBox1 
    .DisplayMember = "Text" 
    .ValueMember = "ID" 
    .DataSource = myList 
End With 

然後,您可以指定一個ID價值的ComboBoxSelectedValue財產與ID選擇項目,例如

ComboBox.SelectedValue = 2 

這將在控件中顯示「兩個」。