ホームページ > バックエンド開発 > C++ > C# でクラス オブジェクトのリストを ComboBox にバインドするにはどうすればよいですか?

C# でクラス オブジェクトのリストを ComboBox にバインドするにはどうすればよいですか?

DDD
リリース: 2025-01-13 07:47:41
オリジナル
116 人が閲覧しました

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

クラス オブジェクトのリストを ComboBox コントロールにバインドします

クラス オブジェクトのリストがあり、それを ComboBox コントロールにバインドする場合は、次の手順に従います。

1. クラスを作成します

国を表すクラスがあるとします。

<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>
ログイン後にコピー

2. BindingSource オブジェクトを作成します

BindingSource オブジェクトを作成し、その DataSource プロパティを国のリストに設定します。例:

<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>
ログイン後にコピー

3. ComboBox のデータソースを設定します

ComboBox の DataSource プロパティを BindingSource オブジェクトの DataSource プロパティに設定します。これにより、ComboBox とリストの間の接続が確立されます。

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

4. DisplayMember プロパティと ValueMember プロパティを設定します

コンボボックスに表示するクラス属性と選択値として保存する属性を指定します。 DisplayMember を使用して表示プロパティを設定し、ValueMember を使用して値のプロパティを設定します:

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

5. 選択したアイテムを取得します

選択した国にアクセスするには、ComboBox の SelectedItem プロパティをクラス型にキャストします。

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

ヒント:

  • DataSource として使用されるデータ構造が IBindingList インターフェイスを実装していることを確認してください。 BindingList はそのような実装の 1 つです。
  • フィールドではなくプロパティにバインドして、値に正しくアクセスできるようにします。

以上がC# でクラス オブジェクトのリストを ComboBox にバインドするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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