星期二, 12月 30, 2014

[C#] 根據 TextBox 顯示 Combobox

論壇問題
combobox 如果用點選的話是沒問題的,但如果需要用輸入text就去抓相對應的value,我應該怎麼寫呢?假設 value 有: 1-水壺 2-鉛筆 3-電腦,我在輸入 1 的時候 combobox 會出現 "1-水壺" 並取得相關的 value,而不用打開下來選單來選擇該選項。
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            comboBox1.Items.Add("1-水壺");
            comboBox1.Items.Add("2-鉛筆");
            comboBox1.Items.Add("3-電腦");
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            string target = textBox1.Text;
            if (string.IsNullOrEmpty(target)) return;

            comboBox1.Text = string.Empty;
            string comboText = string.Empty;
            foreach (string item in comboBox1.Items)
            {
                comboText = item.ToString();
                if (comboText.Substring(0, target.Length) != target) continue;
                comboBox1.Text = comboText;
                break;
            }
        }
    }
}
[C#] 根據 TextBox 顯示 Combobox

沒有留言:

張貼留言