我的表单上有一个Combobox控件(WinForms,.NET 3.5),其 DropDownStyle 属性设置为简单。假设它填充了字母表中的字母,如字符串对象(“a”,“b”,“c”等)。
当我在组合框的输入字段中键入一个字母时,正确的项目将显示在下方。
这是我想要的行为。但我还想选择第一个匹配的项目。
Combobox控件的属性是否可以实现?或者我需要以编程方式处理它吗?
答案 0 :(得分:2)
根据您的需要,您可以考虑使用TextBox控件并设置自动完成属性(例如,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;
}
}
}
可以完成你想要的(就选择而言),但它也会立即改变用户的文字。