2011-08-25 65 views
0

(WinForms項目在Visual Studio 2010,.NET 4,C#)如何更改組合框的鍵盤輸入行爲

我在DropDownList的風格的組合框一套固定它們的積分數從1到40項, 一世。即,ComboBox用於輸入1到40之間的一個數字。

現在,當用戶使用鍵盤輸入新值,比如說「1」,並且控件的當前值是「2」時, ComboBox首先跳到「10」,而我更喜歡它跳到「1」,只有第二次按鍵跳轉到以「1」開頭的第二項,即「10」。

有沒有簡單的方法來改變這種行爲?

+0

ComboBox會從當前選定的項目開始進行增量搜索。輸入1 0將導致您以「10」開始輸入,無論選擇哪一個。你的願望會禁用增量搜索功能。 – TheBlastOne

回答

0

ComboBox執行增量搜索,從當前選定的項目開始。輸入1 0將導致您以「10」開始輸入,無論選擇哪一個。

如何填充前導零的所有條目,以便用戶可以爲第一個條目鍵入「01」?

這也將確保條目排序正確(您是否應該對列表項進行排序,並且它們是否應該在數字字符後面包含文本,因爲遲早可能就是這種情況))。

+0

我正在考慮在KeyDown處理程序中將selectedIndex設置爲0以使搜索從頭開始,但似乎不起作用。 – hackotronic

+0

將其設置爲-1,或將SelectedValue設置爲Nothing。在KeyDown中重置它的問題會破壞增量搜索功能,因爲您總是強制搜索從第一個項目開始(並且無論如何設置項目停止增量搜索,我相信)。 – TheBlastOne