Maison > développement back-end > C++ > Comment lier une liste de classes personnalisée à une ComboBox en C# ?

Comment lier une liste de classes personnalisée à une ComboBox en C# ?

DDD
Libérer: 2025-01-13 09:29:43
original
605 Les gens l'ont consulté

How to Bind a Custom Class List to a ComboBox in C#?

Utiliser la liste de liaison pour faire fonctionner ComboBox

Cet article décrit comment lier une liste d'objets de classe personnalisés au contrôle ComboBox. Voici la solution :

Tout d'abord, modifiez la classe Country et ajoutez un constructeur pour initialiser les propriétés Name et Cities :

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

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

Créer Country liste d'objets :

<code class="language-csharp">List<Country> countries = new List<Country>
{
    new Country("英国"),
    new Country("澳大利亚"),
    new Country("法国")
};</code>
Copier après la connexion

Initialisez BindingSource et définissez-le DataSource sur une liste de pays :

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

Lier DataSource de ComboBox à BindingSource de DataSource :

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

Définissez DisplayMember et ValueMember de ComboBox sur les attributs correspondants de la classe Country :

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

ComboBox affichera désormais les noms de chaque pays dans la liste. Pour récupérer le pays sélectionné, vous pouvez utiliser l'attribut SelectedItem de la ComboBox :

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

Notez que pour les mises à jour dynamiques, votre structure de données doit implémenter l'interface IBindingList. Il est recommandé d'utiliser BindingList<T>.

Assurez-vous de lier DisplayMember à une propriété plutôt qu'à un champ public pour garantir un affichage et une fonctionnalité corrects.

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