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

标签 c# combobox

我的表单(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/

相关文章:

c# - 使用 MonoTouch 进​​行 JSON 反序列化

vb.net - 有没有办法向 ComboBox 添加可点击的图标?

javascript - 如何从剑道组合框获取值(value)

c# - 如何从代码隐藏运行存储过程(带参数 - 有返回值)?

c# - 如何在 C# 中创建系统互斥量

c# - MVVM WPF 主从组合框

python - (不再寻求答案)如何使用wxpython实时重置组合框的选择?

c# - ComboBox SelectedValue 属性不起作用

c# - 使用 asp :DataPager control, 如何设置数字溢出按钮的 CSS 类?

c# - 保存 XDocument 时会发生什么异常?