c#用热键启动事件?

时间:2017-11-29 19:58:24

标签: 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();
        }
    }

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

1 个答案:

答案 0 :(得分:0)

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

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