使用綁定清單操作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的DataSource
綁定到BindingSource
的DataSource
:
<code class="language-csharp">comboBox1.DataSource = bindingSource1.DataSource;</code>
設定ComboBox的DisplayMember
和ValueMember
為Country
類別的對應屬性:
<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中文網其他相關文章!