c# - C# 组合框上的 KeyPress 事件

标签 c# combobox windows-forms-designer

我在桌面应用程序中有一个组合框,我试图给它一个 KeyPress Action 监听器

这是我的代码

private void comboBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                int selectedIndex = combobox.SelectedIndex;
                if (selectedIndex >= 0)
                {
                    switch (selectedIndex)
                    {
                        //.......
                    };
                    this.Close();
                }
            }
        }

现在我需要将它添加到组合框,我尝试类似
this.combobox.KeyDown += new KeyEventArgs(this.comboBox1_KeyDown);

但它不起作用。

最佳答案

您需要向事件添加处理程序,而不是一些参数。 (它甚至可以编译吗?)

代替

this.combobox.KeyDown += new KeyEventArgs(this.comboBox1_KeyDown);

尝试
this.combobox.KeyDown += new KeyEventHandler(this.comboBox1_KeyDown);
KeyEventHandler位于 System.Windows.Forms 命名空间中。

关于c# - C# 组合框上的 KeyPress 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27764879/

相关文章:

c# - 我在更新我的 ComboBox 时遇到了问题,只要我记得填充 ComboBox,我就会得到所有重复项

c# - 为什么将项目添加到 ComboBox 时,重写的 ToString() 不返回我想要的内容?

c# - 运算符 '||' 不能应用于 'object' 和 'bool' 类型的操作数

c# - 将通用列表传递给 ObservableCollection 构造函数

c# - 使用IEnumerable <T>和数组制作的自定义Stack <T>?

c# - Jon Skeet 的 Edulinq - 空数组缓存

c# - 使用 docker-compose 运行 docker 镜像

c# - 如何防止Visual Studio在继承的控件中设置默认字体大小

c# - 为什么在这种情况下调用Focus()不会设置焦点?

c# - C#空引用异常和StreamReader