2009-02-10 20 views
4

我有我的窗體上的ComboBox控件(的WinForms,.NET 3.5),其DropDownStyle屬性設置爲簡單選擇項。比方說,它填充了英文字母,如字符串對象(「A」,「B」,「C」,等等)。
當我在組合框的輸入字段中輸入字母時,正確的項目將顯示在正下方。C#組合框(Dropdownstyle =簡單) - 如何在您鍵入

這是我想要的行爲。但我也想選擇第一個匹配項目。

有ComboBox控件,將實現這一目標的屬性?或者我需要以編程方式處理?

回答

2

根據您的需求,您可以考慮使用一個TextBox控件和設置自動完成的特性(例如AutoCompleteMode和AutoCompleteCustomSource)

你將要面對的困難是,一旦你選擇一個項目(編程) ,組合框中的文字將會改變。所以做這樣的事情:

private void comboBox1_TextChanged(object sender, EventArgs e) 
{ 
    for(int i=0; i<comboBox1.Items.Count; i++) 
    { 
     if (comboBox1.Items[i].ToString().StartsWith(comboBox1.Text)) 
     { 
      comboBox1.SelectedIndex = i; 
      return; 
     } 
    } 
} 

可能完成你想要的(在選擇方面),但它也將立即改變用戶的文本。

+0

我希望的是「更簡單」的解決方案,並等待其他人來回答,但似乎我將不得不做它的「硬」的方式:/ 感謝您提出的解決方案! – Fueled 2009-02-18 16:07:37

相關問題