ホームページ > バックエンド開発 > C++ > C# でカスタム クラス リストを ComboBox にバインドする方法

C# でカスタム クラス リストを ComboBox にバインドする方法

DDD
リリース: 2025-01-13 09:29:43
オリジナル
605 人が閲覧しました

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

バインディング リストを使用して ComboBox を操作します

この記事では、カスタム クラス オブジェクトのリストを ComboBox コントロールにバインドする方法について説明します。解決策は次のとおりです:

まず、Country クラスを変更し、Name プロパティと 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>
ログイン後にコピー

オブジェクトの Country リストを作成します:

<code class="language-csharp">List<Country> countries = new List<Country>
{
    new Country("英国"),
    new Country("澳大利亚"),
    new Country("法国")
};</code>
ログイン後にコピー

BindingSource を初期化して、DataSource を国のリストに設定します:

<code class="language-csharp">var bindingSource1 = new BindingSource();
bindingSource1.DataSource = countries;</code>
ログイン後にコピー

ComboBox の DataSourceBindingSourceDataSource にバインドします:

<code class="language-csharp">comboBox1.DataSource = bindingSource1.DataSource;</code>
ログイン後にコピー

ComboBox の DisplayMemberValueMemberCountry クラスの対応する属性に設定します:

<code class="language-csharp">comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Name";</code>
ログイン後にコピー

ComboBox にはリスト内の各国の名前が表示されます。選択した国を取得するには、コンボボックスの SelectedItem 属性を使用できます:

<code class="language-csharp">Country selectedCountry = (Country)comboBox1.SelectedItem;</code>
ログイン後にコピー

動的更新の場合、データ構造は IBindingList インターフェースを実装する必要があることに注意してください。 BindingList<T>を使用することをお勧めします。

正しい表示と機能を確保するには、DisplayMember をパブリック フィールドではなくプロパティにバインドしてください。

以上がC# でカスタム クラス リストを ComboBox にバインドする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート