-1

我正在尝试在我的程序中包含 HotKeys,但我不知道如何执行此代码:

    private void Form_KeyDown(object data, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Insert)
    {
        timer1.Stop();
    }
}
4

3 回答 3

1

你绑定了那个事件?听起来好像没有连线。

public Form()
{
    this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form_KeyDown);
}

您可以通过这种方式绑定事件,或者KeyDown在 Visual Studio 的“属性”窗口中双击该事件。

如果选择点击方式,事件将绑定在Form.Designer.cs文件中。

完整的代码构造函数和方法如下所示:

public Form()
{
    this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.Form_KeyDown);
}

private void Form_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Insert)
    {
        timer1.Stop();
    }
}
于 2014-01-29T19:29:46.453 回答
1

只需将该代码复制并粘贴到您的表单中(我发现这种用法更容易)

protected override void OnKeyDown(KeyEventArgs e)
{
    if (e.KeyCode == Keys.Insert)
    {
        timer1.Stop();
    }
}

编辑

顺便说一句:不要忘记将KeyPreview表单属性设置为 true。

于 2014-01-29T19:32:12.290 回答
0

根据我的评论:

我不确定插入键,但您正在寻找助记符。在您的表单上,在您想要快捷方式的字符之前使用“&”字符。例如,在任何显示“打开”的按钮、菜单、标签等...上,将文本更改为“&打开”,它就会执行您想要的操作。

编辑:请记住,这会绑定 Alt+yourCharacter 组合键,而不仅仅是单个键。如果您正在寻找专门做特殊键(插入,F1 等...),您将需要从其他答案中实施解决方案(我认为@QtX 的解决方案会满足您的需求)

于 2014-01-29T19:34:42.527 回答