在C#中输入ComboBox

4

我有一个下拉菜单模式的ComboBox,里面有大量的名字供用户选择。

如果用户想要选择“Neil”,他们首先按下“n”键,这会显示以“n”开头的第一个名字,例如Nash。然后,在快速按下“n”之后,他们按下“e”键,期望会显示所有以“ne”开头的名字,但事实并非如此。它会显示所有以“e”开头的名字。

无论用户输入多么快,“neil”这个词在文本框中输入时,它都会显示以“l”开头的名字。

是否有任何方法可以改变这种行为?

1个回答

6

您需要设置以下属性:

comboBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
comboBox1.AutoCompleteSource = AutoCompleteSource.HistoryList; 

它将按照您的期望执行。

有一些更多的可能性可以设置为AutoCompleteSource。您可以在MSDN中找到帮助。


2
你需要设置其他的自动完成才能使其正常工作。 - DaveShaw
@DaveShaw:你说得完全正确。谢谢你提醒我。我已经修改了我的回答。 - Fischermaen
但是如果我们有成千上万个项目,是否可以进行分页? - Sleiman Jneidi
@sleimanjneidi:你可以指定一个AutoCompleteCustomSource,我不知道这是否会对你有所帮助。 - Fischermaen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接