Votre code de liaison n'est pas complet. Essayez ceci :
BindingSource bsCustomers = new BindingSource();
bsCustomers.DataSource = _customers;
comboBox.DataBindings.Add(
new System.Windows.Forms.Binding("SelectedValue", bsCustomers, "id", true));
comboBox.DataSource = bsCustomers;
comboBox.DisplayMember = "name";
comboBox.ValueMember = "id";
Dans la plupart des cas, vous pouvez accomplir cette tâche dans le concepteur, au lieu de le faire en code.
Commencez par ajouter une source de données dans la fenêtre "Sources de données" de Visual Studio. Ouvrez-la à partir du menu View > Other Windows > Data Sources . Ajouter une source de données Objet de Customer
type. Dans les Sources de données, vous verrez les propriétés du client. Par un clic droit sur les propriétés, vous pouvez changer le contrôle par défaut qui lui est associé.
Maintenant, vous pouvez simplement faire glisser une propriété de la fenêtre des sources de données vers votre formulaire. Visual Studio ajoute automatiquement un BindingSource
et un BindingNavigator
à votre formulaire lorsque vous déposez le premier contrôle. Le site BindingNavigator
est facultatif et vous pouvez le supprimer sans risque, si vous n'en avez pas besoin. Visual Studio se charge également de tout le câblage. Vous pouvez le modifier dans la fenêtre des propriétés. Cela est parfois nécessaire pour les boîtes combo.
Il ne reste qu'une seule chose à faire dans votre code : Assigner une source de données réelle à la source de liaison :
customerBindingSource.DataSource = _customers;