43

我有一个组合框,里面有数百个项目。用户必须能够在组合框中键入文本。当用户键入文本时,必须选择或列出以键入值开头的项目。用户必须能够连续打字。我的组合框 DropDownStyle 是 DropDownList

例如:通过键入在组合框中选择名称时,它只允许一个字母。因此,如果我输入“A”,它将跳转到以“A”开头的第一个字母。当我连续键入时,组合框选定的项目会根据当前按键发生变化。如果我按“As”,组合框会查看以“s”开头的项目。

我正在使用 Win Forms。

提前致谢..

4

2 回答 2

85
comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown;
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
于 2012-04-18T04:35:47.727 回答
-1

您必须连接到 TextChanged 事件。当文本更改时,过滤列表(使用 DataView)并获取第一个结果的文本,将组合框的文本设置为该文本。当然,您必须检查您的处理程序,以确定是否处理该事件(当您更改文本时,将触发另一个 TextChanged 事件)。当然,您还希望突出显示他们输入的文本,并将插入符号放在适当的位置。

于 2012-04-17T08:55:17.983 回答