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

标签 c# combobox windows-forms-designer

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

这是我的代码

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/

相关文章:

qt - QML 覆盖项样式

c# - 无法在设计器 Visual Studio 2015 中打开表单(使用 C#)

vb.net - 我可以在 VS 2008 的 Windows 窗体设计器中将默认修饰符从 Friend 更改为 Private 吗?

.net - 如何在设计器中按名称查找按钮?

c# - 域对象命名类的命名实践

c# - 防止将异常消息翻译成用户的语言?

c# - 具有过滤器和自动完成功能的组合框

c# - 在客户端-服务器环境中使用 AES 加密

c# - 使每个 block 内的更改持久化

c# - DevExpress ASPxComboBox 不过滤