Il metodo Items.Add della combobox accetta object, non solo stringhe. Se aggiungo un oggetto MyItem, come nell'esempio che segue, la combobox visualizzerà nell'elenco la rappresentazione stringa di tale oggetto, utilizzando il metodo predefinito ToString().
codice:
Dim item As New MyItem(1, "alfa")
ComboBox1.Items.Add(item)
La classe MyItem:
codice:
Public Class MyItem
Public Property ID As Integer
Public Property Text As String
Public Sub New(id As Integer, text As String)
Me.ID = id
Me.Text = text
End Sub
Public Overrides Function ToString() As String
Return Me.Text
End Function
End Class
Poiché la collezione Items memorizza gli oggetti che ho passato tramite il metodo Add, per estrarre una qualsiasi proprietà di tale oggetto basterà scrivere:
codice:
If ComboBox1.SelectedItem IsNot Nothing Then
Dim item As MyItem = CType(ComboBox1.SelectedItem, MyItem)
Console.WriteLine(item.ID)
End If