Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengikat Senarai Objek ke ComboBox dalam C#?

Bagaimana untuk Mengikat Senarai Objek ke ComboBox dalam C#?

Linda Hamilton
Linda Hamiltonasal
2025-01-13 06:13:43468semak imbas

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

C# ComboBox Data Binding: Memaparkan Senarai Objek

Panduan ini menunjukkan cara mengisi C# ComboBox dengan senarai objek, memaparkan sifat tertentu (cth., "Nama") setiap objek sebagai item dalam menu lungsur. Kami akan menggunakan BindingSource untuk mengurus sambungan data.

Langkah 1: Menentukan Kelas dan Senarai Data

Mula-mula, buat kelas (cth., Country) dengan sifat yang ingin anda wakili dalam ComboBox anda. Berikut ialah contoh dengan Name sifat dan senarai City objek:

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

public class City
{
    public string Name { get; set; }
}</code>

Sekarang, buat senarai Country objek:

<code class="language-csharp">List<Country> countries = new List<Country>()
{
    new Country { Name = "UK" },
    new Country { Name = "Australia" },
    new Country { Name = "France" }
};</code>

Langkah 2: Menyediakan BindingSource

Buat objek BindingSource dan tetapkan senarai countries anda sebagai sumber datanya:

<code class="language-csharp">BindingSource bindingSource = new BindingSource();
bindingSource.DataSource = countries;</code>

Langkah 3: Menyambungkan BindingSource ke ComboBox

Pautkan BindingSource ke ComboBox anda:

<code class="language-csharp">comboBox1.DataSource = bindingSource;</code>

Langkah 4: Mengkonfigurasi Paparan dan Ahli Nilai

Nyatakan sifat untuk dipaparkan dalam menu lungsur ComboBox (DisplayMember) dan sifat untuk mendapatkan semula apabila item dipilih (ValueMember):

<code class="language-csharp">comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Name"; // Or another suitable property if needed</code>

Langkah 5: Mengakses Item Terpilih

Untuk mendapatkan objek Country yang dipilih:

<code class="language-csharp">Country selectedCountry = (Country)comboBox1.SelectedItem;</code>

Mengendalikan Kemas Kini Dinamik (IBindingList)

Untuk kemas kini dinamik (menambah atau mengalih keluar item daripada senarai), pastikan sumber data anda melaksanakan antara muka IBindingList. BindingList<T> ialah pilihan yang baik:

<code class="language-csharp">BindingList<Country> countries = new BindingList<Country>() { /* ... your countries ... */ };
bindingSource.DataSource = countries;</code>

Pendekatan ini memastikan bahawa perubahan pada senarai countries yang mendasari ditunjukkan secara automatik dalam ComboBox.

Atas ialah kandungan terperinci Bagaimana untuk Mengikat Senarai Objek ke ComboBox dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn