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

时间:2009-02-10 19:59:06

标签: c# combobox

我的表单上有一个Combobox控件(WinForms,.NET 3.5),其 DropDownStyle 属性设置为简单。假设它填充了字母表中的字母,如字符串对象(“a”,“b”,“c”等)。
当我在组合框的输入字段中键入一个字母时,正确的项目将显示在下方。

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

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

1 个答案:

答案 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;
        }
    }
}

可以完成你想要的(就选择而言),但它也会立即改变用户的文字。