Published on

C# - WinForm ComboBox (DropDownList) Simple Use

一般在網頁上的下拉式選單 (<select> tag,在 WebForm 裡面叫 DropDownList),如果要在 WinForm 裡面也要有差不多的效果,使用的元件是 ComboBox。因為不常寫 WinForm 而且每次要用都會忘記,所以就來記錄一下。

1、首先把 ComboBox 拉到畫面上

2、設定 Name 為 cbTest

3、建立一個給 ComboBox 使用的 Class

class Person
{
    public int Id { get; set; }

    public string Name { get; set; }
}

如果資料是從 DB 的 Table 來的話就不用特地建立一個 class ( 前提是這個 Table 原本就有建立好相對應的 class )

4、設定 ComboBox 的參數

cbTest.DisplayMember = "Name";
cbTest.ValueMember = "Id";
cbTest.DropDownStyle = ComboBoxStyle.DropDownList;

DisplayMember 指的是選單要顯示的欄位名稱,在這裡就是 Person class 的 Name ValueMember 指的是選單選中後的值,在這裡就是 Person class 的 Id DropDownStyle 指的是選單的格式 (樣式),預設為 DropDown,在這裡要改為 DropDownList

5、設定 ComboBox 的資料

cbTest.Items.Add(new Person { Id = 1, Name = "AA" });
cbTest.Items.Add(new Person { Id = 2, Name = "BB" });
cbTest.Items.Add(new Person { Id = 3, Name = "CC" });
cbTest.Items.Add(new Person { Id = 4, Name = "DD" });

6、測試

未選時

選擇時

7、加上預設選項

cbTest.SelectedIndex = 0; // 預設為第一個

測試時可以發現並沒有預設值,如果需要的話可以加上 (還是要視 Logic 而定)