首頁 > 後端開發 > C++ > 如何在 C# 中將自訂類別清單綁定到組合方塊?

如何在 C# 中將自訂類別清單綁定到組合方塊?

DDD
發布: 2025-01-13 09:29:43
原創
605 人瀏覽過

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

使用綁定清單操作ComboBox

本文介紹如何將自訂類別物件的清單綁定到ComboBox控制項。以下是解決方案:

首先,修改Country類,加入一個建構子初始化NameCities屬性:

<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的DataSource綁定到BindingSourceDataSource

<code class="language-csharp">comboBox1.DataSource = bindingSource1.DataSource;</code>
登入後複製

設定ComboBox的DisplayMemberValueMemberCountry類別的對應屬性:

<code class="language-csharp">comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Name";</code>
登入後複製

現在,ComboBox將顯示清單中各國的名稱。要擷取選定的國家,可以使用ComboBox的SelectedItem屬性:

<code class="language-csharp">Country selectedCountry = (Country)comboBox1.SelectedItem;</code>
登入後複製

注意,對於動態更新,您的資料結構應實作IBindingList介面。建議使用BindingList<T>

請務必將DisplayMember綁定到屬性,而不是公共字段,以確保正確的顯示和功能。

以上是如何在 C# 中將自訂類別清單綁定到組合方塊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板