Maison > développement back-end > C++ > Comment lier une liste d'objets de classe à une ComboBox en C# ?

Comment lier une liste d'objets de classe à une ComboBox en C# ?

DDD
Libérer: 2025-01-13 07:47:41
original
116 Les gens l'ont consulté

How to Bind a List of Class Objects to a ComboBox in C#?

Lier la liste des objets de classe au contrôle ComboBox

Si vous disposez d'une liste d'objets de classe et que vous souhaitez la lier à un contrôle ComboBox, suivez ces étapes :

1. Créez votre classe

Supposons qu'il existe une classe représentant un pays :

<code class="language-csharp">public class Country
{
    public string Name { get; set; }
    public IList<city> Cities { get; set; }

    public Country()
    {
        Cities = new List<city>();
    }
}</code>
Copier après la connexion

2. Créer un objet BindingSource

Créez un objet BindingSource et définissez sa propriété DataSource sur votre liste de pays. Par exemple :

<code class="language-csharp">var countries = new List<Country> { new Country { Name = "UK" }, new Country { Name = "Australia" }, new Country { Name = "France" } };

var bindingSource1 = new BindingSource();
bindingSource1.DataSource = countries;</code>
Copier après la connexion

3. Définir la source de données de ComboBox

Définissez la propriété DataSource du ComboBox sur la propriété DataSource de l'objet BindingSource. Cela établira une connexion entre le ComboBox et votre liste.

<code class="language-csharp">comboBox1.DataSource = bindingSource1.DataSource;</code>
Copier après la connexion

4. Définir les propriétés DisplayMember et ValueMember

Spécifiez l'attribut de classe à afficher dans la ComboBox et l'attribut à stocker comme valeur sélectionnée. Utilisez DisplayMember pour définir les propriétés d'affichage et ValueMember pour définir les propriétés de valeur :

<code class="language-csharp">comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Name";</code>
Copier après la connexion

5. Obtenez l'article sélectionné

Pour accéder au pays sélectionné, convertissez la propriété SelectedItem du ComboBox en votre type de classe :

<code class="language-csharp">Country country = (Country)comboBox1.SelectedItem;</code>
Copier après la connexion

Conseils :

  • Assurez-vous que la structure de données utilisée comme DataSource implémente l'interface IBindingList. BindingList est l'une de ces implémentations.
  • Liez-vous aux propriétés, pas aux champs, pour garantir un accès correct aux valeurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal