Vous ne devez pas définir datasource de votre listbox et/ou combobox dans cet ordre
ComboBox1.DataSource = dataTable;
ComboBox1.ValueMember = "id";
ComboBox1.DisplayMember = "name";
Au lieu de cela, voici l'ordre correct :
ComboBox1.ValueMember = "id";
ComboBox1.DisplayMember = "name";
ComboBox1.DataSource = dataTable;
REMARQUE :définir datasource devrait être la dernière ligne.
Si vous définissez datasource d'abord, SelectedIndexChanged l'événement se déclenchera et vous pourriez obtenir l'erreur de diffusion ou une autre exception.