Non dovresti impostare datasource
della tua casella di riepilogo e/o casella combinata in questo ordine
ComboBox1.DataSource = dataTable;
ComboBox1.ValueMember = "id";
ComboBox1.DisplayMember = "name";
Invece, questo è l'ordine corretto:
ComboBox1.ValueMember = "id";
ComboBox1.DisplayMember = "name";
ComboBox1.DataSource = dataTable;
NOTA:impostazione di datasource
dovrebbe essere l'ultima riga.
Se imposti datasource
prima, SelectedIndexChanged
l'evento verrà attivato e potresti ricevere l'errore di cast o un'altra eccezione.