c# 使用热键启动事件?

标签 c# events hotkeys beep

    private void MeretOK_Click(object sender, EventArgs e)
    {
        //code
    }

    private void MeretTB_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode==Keys.Enter)
        {
            MeretOK_Click();
        }
    }

如何使用热键开始事件? (我知道我可以在那里复制代码,但这很难看) 如果我只是复制代码并运行它,我会听到哔声。为什么?

最佳答案

首先,您必须允许您的表单全局处理按键事件(将表单的 KeyPreview 属性设置为 true)并将您的事件标记为内部处理。其次,如果这段代码的目的是模拟鼠标点击特定控件(programmatic click),例如按钮,则有一种更简单的方法可以实现:

private void MeretTB_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Enter)
    {
        e.Handled = true;
        myButton.PerformClick();
    }
}

关于c# 使用热键启动事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47560777/

相关文章:

C# 数组返回一个不在其中的值

jquery - 无法在 "click"事件上打开 jQuery 对话框

javascript - TypeScript 中未定义的属性

windows - 我们可以为浏览器注册全局热键吗

Windows 宏 + 热键 - 无格式粘贴

c# - 向 TitleCase 方法 C# 添加异常

c# - 在同步方法中使用Async Graph API

c# - 无法找到支持类型为 'Type' 的属性与字符串之间的转换的转换器

java - 坩埚 : No listener invokers were found for listener

javascript - 输入时如何禁用热键?