指定 ComboBox 的項目值 (ComboBox item value)

ComboBox

如何指定 ComboBox 的項目值?

基本使用

ComboBox的基本使用方式很簡單,在屬性的Items欄位先設定要顯示的選項。在取得使用者選擇哪個選項時,只要從ComboBox的Text屬性即可得知。

指定項目的值

但有時候我們除了想要知道選取的項目外,還想要知道該項目的值。例如,如果從資料庫拉資料進ComboBox,我們想要同時把一筆資料的ID同時指定給該項目,以利於做其他判斷。這時候就必須讓ComboBox同時可以設定"項目名稱"及"值"。

我們必須利用ComboBox的DataSource屬性,把資料以Key-Value的方式指定給該屬性當作資料來源。接著設定DisplayMember屬性為"Key",ValueMember屬性為"Value"。在取得使用者選擇哪個項目的值時,使用SelectValue屬性。
設定ComboBox的資料:
private void initCbxCity()
{
   ArrayList data = new ArrayList();
   data.Add(new DictionaryEntry("台北", 1));
   data.Add(new DictionaryEntry("台中", 2));
   data.Add(new DictionaryEntry("台南", 3));
   data.Add(new DictionaryEntry("高雄", 4));
   cbxCity.DisplayMember = "Key";
   cbxCity.ValueMember = "Value";
   cbxCity.DataSource = data;
}
取得項目名稱及值:
MessageBox.Show( cbxCity.Text + " (" + cbxCity.SelectedValue + ")");
結果就如下圖:
本文網址:http://blog.tonycube.com/2011/09/comboboxcombobox-item-value.html
Tony Blog 撰寫,轉載時請註明出處及文章連結,謝謝 😀

1 則留言

  1. 感恩 大大 沒想到你除了Laravel有研究之外,連這東西也已涉略。
    我找這方法找好久阿!!!!

    回覆刪除

留言小提醒:
1.回覆時間通常在晚上,如果太忙可能要等幾天。
2.請先瀏覽一下其他人的留言,也許有人問過同樣的問題。
3.程式碼請先將它編碼後再貼上。(線上編碼:http://bit.ly/1DL6yog)
4.文字請加上標點符號及斷行,難以閱讀者恕難回覆。
5.感謝您的留言,您的問題也可能幫助到其他有相同問題的人。