当用户将文本输入到combox中时如何禁用combox下拉菜单
我有一个简单的组合框在C#表单中,从数组中填充。
我已将AutoCompleteMode设置为SuggestAppend并将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,哪个
指定列表始终可见并且文本部分可编辑。 这意味着用户可以输入新值并且不限于选择列表中的现有值。
将删除原来的下拉列表(长列表),只保留过滤结果。
链接地址: http://www.djcxy.com/p/60907.html上一篇: How to disable combox dropdown when user enters text into the combox