我的表单(WinForms、.NET 3.5)上有一个 Combobox 控件,它的 DropDownStyle 属性设置为 Simple。假设它填充了字母表中的字母,作为 string 对象(“a”、“b”、“c”等)。
当我在组合框的输入字段中键入一个字母时,正确的项目将显示在下方。
这是我想要的行为。但我也想选择第一个匹配项。
Combobox 控件是否有可以实现该目的的属性?还是我需要以编程方式处理它?</p>
最佳答案
根据您的需要,您可以考虑使用 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;
}
}
}
可能会完成您想要的(在选择方面),但它也会立即更改用户的文本。
关于C# Combobox (Dropdownstyle = Simple) -- 如何在键入时选择项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/533923/