KeyDown KeyEventArgs 不起作用



我试图在程序中加入热键,但我不知道如何执行此代码:

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

只需复制该代码到您的表单(我发现此用法更容易)

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

编辑

btw:不要忘记将型 KeyPreview 属于表单的属性。

您是否约束了该事件?听起来好像没有接线。

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

您可以以这种方式绑定事件,也可以在Visual Studio中的属性窗口中敲击KeyDown事件。

如果选择点并单击方式,则事件将绑定在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();
    }
}

根据我的评论:

我不确定插入键,但是您正在寻找助记符。在您的表格上,使用"&"角色在您想捷径的角色之前。例如,在任何按钮,菜单,标签等上...上面说"打开",将文本更改为"& open",它将执行您想要的。

编辑:请记住,这可以绑定Alt 您的Character键组合,而不仅仅是单键。如果您希望专门执行特殊键(插入,F1等...),则需要从其他答案中实现解决方案(我认为 @qtx的解决方案将执行您想要的操作)

相关内容

  • 没有找到相关文章