在AutoCompleteMode
设置为追加
。
我们知道在 widows 表单中,当 ComboBox
中的 AutocompleteMode
属性设置为 Append
时,我们会在键入完整内容之前获取值项目的文本。
问题在这里:
- 我单击下拉按钮并打开下拉菜单
- 我尝试输入一些字符,我得到了预期的值并完成了文本。
- 但是当我按下 Enter 时,它会删除组合框的文本。
我怎样才能拥有 Append
选项,并在下拉菜单打开时按下 Enter,保留输入的文本而不删除它。
我尝试了“自动完成模式”属性中的“无”选项,它工作正常,但没有附加数据....
我不需要“自动完成模式”属性中的建议和建议附加选项,因为它会打开另一个下拉窗口....
我需要在列出下拉框中的数据时键入数据,当我通过单击输入按钮获取附加值时它应该可以工作(不会被删除)...
这可能吗?
谢谢
最佳答案
当下拉菜单关闭时,它按预期工作,但当下拉菜单打开时,按 Enter 会关闭下拉菜单并删除输入的文本。
作为解决方案,您可以从 ComboBox
派生并覆盖 IsInputKey
这样:
public class MyComboBox : ComboBox
{
protected override bool IsInputKey(Keys keyData)
{
switch ((keyData & (Keys.Alt | Keys.KeyCode)))
{
case Keys.Enter:
case Keys.Escape:
if (this.DroppedDown)
{
this.DroppedDown = false;
return false;
}
break;
}
return base.IsInputKey(keyData);
}
}
关于c# - 在 ComboBox 中输入关键问题,AutoCompleteMode 设置为 Append,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36346300/