繁体   English   中英

用户在combox中输入文字时如何禁用combox下拉菜单

[英]How to disable combox dropdown when user enters text into the combox

我有一个c#形式的简单组合框,它是从数组中填充的。

我已将AutoCompleteMode设置为RecommendationAppend,并将AutoCompleteSource设置为ListItems。 这使我可以通过在组合框中键入一个字符串来快速筛选列表,并在键入时显示匹配项。 这很好。

但是,当下拉列表打开并开始输入时,过滤后的列表会显示在下拉列表的顶部,但是我无法从过滤后的列表中进行选择,只能从下拉列表中进行选择。

用户在组合框中输入字符后,如何在打开时禁用下拉列表。

当前,组合框只有一种方法

private void SelectJobDropdown_SelectedIndexChanged(object sender, EventArgs e)
        {
            //plenty of code here 
        }

我尝试为组合框添加其他方法,例如KeyPress或Keydown,但似乎都没有用,因为我很可能做错了

使用Visual Studio 2015

如果我对您的理解正确,那么您不喜欢旧下拉列表中的重叠列表。 由于您在ComboBox键入字母,所以我建议使用comboBox1_TextUpdate事件。 这行不错的代码应该可以解决您的问题:

private void comboBox1_TextUpdate(object sender, EventArgs e)
{
    comboBox1.DropDownStyle = ComboBoxStyle.Simple;

设置ComboBox.DropDownStyle属性,该属性

指定是始终显示列表还是在下拉列表中显示列表[...]

ComboBoxStyle.Simple ,其中

指定列表始终可见,并且文本部分可编辑。 这意味着用户可以输入新值,而不仅限于在列表中选择现有值。

将删除原始下拉列表(长列表),仅保留过滤后的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM