2014-01-15 48 views
0

一般來說,我的問題是,我在windows.forms.combobox上做了自動補全,當我輸入第一個字母下拉列表時打開並提供了一個城市列表作爲預期工作,但當我開始鍵入另一封限制自動完成列表的字母,第一個字母被刪除,並用我的新字母切換,該字母變成組合框中第一個也是唯一的字母。我使用textchanged事件來執行自動完成功能。C#combobox自動完成重置值

請幫幫忙,

在此先感謝!

+0

一些代碼將受到歡迎。 –

+0

我可以這樣做:KeyDown事件首先觸發,獲取我輸入的字母,然後KeyDown調用textchanged事件並將它寫入信函? –

回答

1

對於ComboBox,您不必手動實施AutoComplete。它已經有了這個功能。只是這樣做:

comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems; 

您還可以設置通過ComboBox控制性的判定窗口這些屬性。

enter image description here

+0

我已經實施了這個解決方案,但有一個例外,我將AutoCompleteSource設置爲CustomSource,並且AutoCompleteCustomSource屬性的來源爲AutoCompleteStringCollection。 –

+0

通過使用cuatom源代碼,您必須提供自動完成工作的自定義源代碼,但在您的情況下,將'AutoCompleteSource'設置爲ListItems非常容易,它的工作原理非常完美。 –