Ciao, io sto cercando di fare la stessa cosa, però i dati li prendo da un file XML.
Tieni presente che non sono molto esperto...sono riuscito a farlo in due modi, vedi tu se ti possono "ispirare" a qualcosa di utile:
File XML di esempio:
codice:
<table>
  <codice>
     <ID>1</ID>
     <descrizione>aaaa</descrizione>
  </codice>
  <codice>
     <ID>2</ID>
     <descrizione>bbbb</descrizione>
  </codice>
  <codice>
     <ID>3</ID>
     <descrizione>cccc</descrizione>
  </codice>
</table>
Metodo 1, carico contemporaneamente la combobox con gli ID e l' arraylist con la descrizione, gli Item hanno lo stesso indice quindi 0=0 1=1 ecc., però se si vuole mettere in ordine alfabetico gli ID della combobox non funziona...:
codice:
  Dim descrizione As New ArrayList
    Private Sub Form3_Load() Handles MyBase.Load
        Dim xmlfile As New Xml.XmlDocument
        xmlfile.Load(My.Computer.FileSystem.SpecialDirectories.Desktop & "/file.xml")
        Dim nodo As Xml.XmlNode = xmlfile.SelectSingleNode("/table")
        For a = 0 To nodo.ChildNodes.Count - 1 Step 1
            ComboBox1.Items.Add(nodo.ChildNodes(a).ChildNodes(0).InnerText)
            descrizione.Add(nodo.ChildNodes(a).ChildNodes(1).InnerText)
        Next
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged() Handles ComboBox1.SelectedIndexChanged
      TextBox1.Text = descrizione.Item(ComboBox1.SelectedIndex).ToString
    End Sub
Metodo 2, popolo la combobox con gli ID, quando seleziono un ID ciclo il file xml fino a trovare l' ID corrispondente, prendo il valore del nodo descrizione e lo metto nella textbox:
codice:
 Dim xmlfile As New Xml.XmlDocument
 Dim nodo As Xml.XmlNode
    Private Sub Form4_Load() Handles MyBase.Load
        xmlfile.Load(My.Computer.FileSystem.SpecialDirectories.Desktop & "/file.xml")
        nodo = xmlfile.SelectSingleNode("/table")
        For a = 0 To nodo.ChildNodes.Count - 1 Step 1
            ComboBox1.Items.Add(nodo.ChildNodes(a).ChildNodes(0).InnerText)
        Next
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged() Handles ComboBox1.SelectedIndexChanged
        Dim ID As String = ComboBox1.SelectedItem.ToString
        For a = 0 To nodo.ChildNodes.Count - 1 Step 1
            If ID = nodo.ChildNodes(a).ChildNodes(0).InnerText Then
                TextBox1.Text = nodo.ChildNodes(a).ChildNodes(1).InnerText
                Exit For
            End If
        Next
    End Sub