Ciao,premesso che la soluzione di gibra è molto interessante (non avrei mai pensato a una soluzione del genere...indice di poca conoscenza, da parte mia, di vb.net e programmazione a oggetti), ma in questi casi non è meglio sfruttare gli oggetti messi a disposizione dalla combo? In pratica io avrei fatto cosi:
codice:
Private Sub PopolaComboClienti()
Dim strSql As String = ""
Dim strConn As String = ""
Dim da As New OleDb.OleDbDataAdapter
Dim dt As New DataTable
Dim cmd As New Data.OleDb.OleDbCommand
strSql = "SELECT nome_cognome, id_clienti FROM clienti;"
Try
cmd.CommandText = strSql
cmd.Connection = conn
da.SelectCommand = cmd
da.Fill(dt)
ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "Autore"
ComboBox1.ValueMember = "IdAutore"
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
cmd.Dispose()
cmd = Nothing
da.Dispose()
da = Nothing
End Try
End Sub
Private Function GetID() As Int32
Return ComboBox1.SelectedValue
End Function
Private Function GetValue(ByVal field As String) As String
Return ComboBox1.SelectedItem(field)
End Function