C# Combobox (Dropdownstyle = Simple) -- 如何在键入时选择项目
Posted
技术标签:
【中文标题】C# Combobox (Dropdownstyle = Simple) -- 如何在键入时选择项目【英文标题】:C# Combobox (Dropdownstyle = Simple) -- how to select item as you type 【发布时间】:2009-02-10 19:59:05 【问题描述】:我的表单上有一个 Combobox 控件(WinForms,.NET 3.5),它的 DropDownStyle 属性设置为 Simple。假设它填充了字母表中的字母,作为 string 对象(“a”、“b”、“c”等)。 当我在组合框的输入字段中键入一个字母时,正确的项目将显示在下方。
这是我想要的行为。但我也想选择第一个匹配项。
是否有 Combobox 控件的属性可以实现这一点?还是我需要以编程方式处理?
【问题讨论】:
【参考方案1】:根据您的需要,您可以考虑使用 TextBox 控件并设置 AutoComplete 属性(例如 AutoCompleteMode 和 AutoCompleteCustomSource)
您将面临的困难是,一旦您(以编程方式)选择了一个项目,组合框中的文本就会发生变化。所以做这样的事情:
private void comboBox1_TextChanged(object sender, EventArgs e)
for(int i=0; i<comboBox1.Items.Count; i++)
if (comboBox1.Items[i].ToString().StartsWith(comboBox1.Text))
comboBox1.SelectedIndex = i;
return;
可能会完成您想要的(就选择而言),但它也会立即更改用户的文本。
【讨论】:
我希望有一个“更简单”的解决方案,并等待其他人回答,但看来我必须以“硬”的方式去做:/感谢您提出的解决方案!跨度> 好吧,我用自动完成来做文本框;这对我来说是“简单”的方式......但我认为它不太适合您的需求。以上是关于C# Combobox (Dropdownstyle = Simple) -- 如何在键入时选择项目的主要内容,如果未能解决你的问题,请参考以下文章