Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 组合框-如何防止在下拉后选择项目_C#_Winforms - Fatal编程技术网

C# 组合框-如何防止在下拉后选择项目

C# 组合框-如何防止在下拉后选择项目,c#,winforms,C#,Winforms,如果我输入例如“q”,组合框项目中有一个项目,第一个字母是“q”,那么在下拉后,它会跳到此项目。有什么方法可以防止输入更多的字母 private void comboBox1_TextChanged(object sender, EventArgs e) { comboBox1.DroppedDown = true; } 您可以尝试以下代码 comboBox1.DropDownStyle = ComboBoxStyle.DropDown; comboBox1.AutoCompleteMo

如果我输入例如“q”,组合框项目中有一个项目,第一个字母是“q”,那么在下拉后,它会跳到此项目。有什么方法可以防止输入更多的字母

private void comboBox1_TextChanged(object sender, EventArgs e)
{
   comboBox1.DroppedDown = true;
}

您可以尝试以下代码

comboBox1.DropDownStyle = ComboBoxStyle.DropDown;
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

您可以尝试以下代码

comboBox1.DropDownStyle = ComboBoxStyle.DropDown;
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;

对我来说,关键是将事件替换为TextUpdate和replace text after dropdown,然后取消选择ComboBox中的文本

    private void comboBox1_TextUpdate(object sender, EventArgs e)
    {
        var savedText = comboBox1.Text;
        comboBox1.DroppedDown = true;
        comboBox1.Text = savedText;
        comboBox1.Select(savedText.Length, 0);
    }

对我来说,关键是将事件替换为TextUpdate和replace text after dropdown,然后取消选择ComboBox中的文本

    private void comboBox1_TextUpdate(object sender, EventArgs e)
    {
        var savedText = comboBox1.Text;
        comboBox1.DroppedDown = true;
        comboBox1.Text = savedText;
        comboBox1.Select(savedText.Length, 0);
    }

+1.这是你在OP之后得到的答案。我最近自己做了这件事。事实上,由于某些原因,我不能使用AutoComplete,我使用我自己的搜索提供商(我在代码示例中跳过了它)。+1。这是你在OP之后得到的答案。我最近自己做了这件事。事实上,由于某些原因,我不能使用AutoComplete,我使用我自己的搜索提供商(我在代码示例中跳过它)。