C#Combobox(Dropdownstyle =简单) – 如何在键入时选择项目

我的表单上有一个Combobox控件(WinForms,.NET 3.5),它的DropDownStyle属性设置为Simple.假设它用字母表中的字母填充,作为字符串对象(“a”,“b”,“c”等).

当我在组合框的输入字段中键入一个字母时,正确的项目将显示在下面.

这是我想要的行为.但我还想选择第一个匹配的项目.

Combobox控件的属性是否可以实现?或者我需要以编程方式处理它?

最佳答案 根据您的需要,您可以考虑使用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;
        }
    }
}

可能会完成你想要的(在选择方面),但它也会立即改变用户的文本.

点赞