星期一, 11月 07, 2016

[C#] ComboBox DropDownList

使用 ComboBox.DropDownList 時,發現會無法正確地顯示資料,還不是每一個 ComboBox 都會發生,後來釐清才發現,原來設定 DropDownList 時,Item 和 DataBinding 的資料,字元長度要一樣才行

簡易範例 - cboShow 用來顯示使用者 cboSelected 和 chkEmpty 組合資料,完全一模一樣就會顯示在 cboShow 上
namespace DropDownList
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // B 和 D 故意空一格
            cboShow.Items.Add("A");
            cboShow.Items.Add("B ");
            cboShow.Items.Add("C");
            cboShow.Items.Add("D ");
            cboShow.Items.Add("E");

            cboSelected.Items.Add("A");
            cboSelected.Items.Add("B");
            cboSelected.Items.Add("C");
            cboSelected.Items.Add("D");
            cboSelected.Items.Add("E");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // 一律先空白
            cboShow.SelectedIndex = -1;
            // 組合使用者選擇資料
            string result = cboSelected.Text.Trim();
            if (checkEmpty.Checked == true) result += " ";
            // 設定顯示
            cboShow.Text = result;
        }
    }
}

[C#] ComboBox DropDownList

沒有留言:

張貼留言