Basta definire questa nuova classe ed usarla al posto di String:
codice:
Public Class ListElement
Private m_text As String
Private m_id As Integer
Public Property Text() As String
Get
Return m_text
End Get
Set(ByVal Value As String)
m_text = Value
End Set
End Property
Public Property ID() As Integer
Get
Return m_id
End Get
Set(ByVal Value As Integer)
m_id = Value
End Set
End Property
Public Sub New(ByVal text As String, ByVal id As Integer)
m_text = text
m_id = id
End Sub
Public Overrides Function ToString() As String
Return m_text
End Function
End Class
'nella parte che carica il Combo:
Dim le As ListElement
While objReader.Read
le = New ListElement(objReader("Comune"), objReader("ID"))
cmbBoxComune.Items.Add(le)
End While
'in seguito, per conoscere l'ID selezionato nel combo:
Private Sub cmbBoxComune_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbBoxComune.SelectedIndexChanged
Dim le As ListElement
le = CType(cmbBoxComune.SelectedItem, ListElement)
Console.WriteLine(co.ID)
End Sub