2010-04-23 63 views
5

當呈現國家的固定列表中ComboBox控件,沒有免費的文本輸入,用戶的期望是,如果他們開始拼寫出這個國家的名字,它會帶他們去那個國家的名字。相反,默認行爲是讓它移動到列表中以該字符開頭的第一個項目。所以,當他們擊中這個名字的第二個字母時,就會將他們帶到以這封信開頭的第一個國家。組合框行爲

例如,如果我按「S」一堆的時代,這讓我通過所有以「S」開頭的國家的滾動去新加坡。如果我按「S」,「I」,「N」,它需要我的第一個國家開始以「S」,那麼第一個國家開始「I」,那麼第一個國家開始「N」。我寧願有「S」,「I」,「N」帶我去與「仙」

有一種簡單的方法來啓用後的行爲開始的國家?

+0

在你做這件事之前要三思。不幸的是,這是標準行爲,任何知道它在其他地方如何工作的人都會因爲您的系統而感到沮喪。例如,我知道每當我看到一個國家領域時打5次M,因爲這會帶來明尼蘇達州。 – 2010-04-23 16:20:39

+1

我同意你在原則上,除了我的用戶羣已經使用了近十年的作品這樣一個VB應用程序。所以,他們期待着它。由於他們每天生活在6-8小時的應用程序中,他們已經習慣了它並抱怨世界其他地方的工作方式。 – MattMcKnight 2010-04-23 16:43:46

+0

當然,輸入Mi比按M 5次更快。微軟自己似乎混合它。 Outlook使用默認系統,Visual Studio第二個... – Carra 2011-06-14 08:40:55

回答

4

您可以通過在組合框中設置以下屬性,現在

AutoCompleteMode = Suggest 
AutoCompleteSource = ListItems 
DropDownStyle = DropDownList 

,它們不能偷懶,打字很慢得到這個...但如果他們鍵入以合理的速度就會跳下去到他們需要的東西。

如果它們很慢,它會表現得像你提到的

+0

很好,謝謝。 – MattMcKnight 2010-04-23 17:52:36

+0

有沒有辦法超越速度問題? – 2012-09-25 17:29:11