我正在尝试在我的程序中包含 HotKeys,但我不知道如何执行此代码:
private void Form_KeyDown(object data, KeyEventArgs e)
{
if (e.KeyCode == Keys.Insert)
{
timer1.Stop();
}
}
我正在尝试在我的程序中包含 HotKeys,但我不知道如何执行此代码:
private void Form_KeyDown(object data, KeyEventArgs e)
{
if (e.KeyCode == Keys.Insert)
{
timer1.Stop();
}
}
你绑定了那个事件?听起来好像没有连线。
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();
}
}
只需将该代码复制并粘贴到您的表单中(我发现这种用法更容易)
protected override void OnKeyDown(KeyEventArgs e)
{
if (e.KeyCode == Keys.Insert)
{
timer1.Stop();
}
}
编辑
顺便说一句:不要忘记将KeyPreview
表单属性设置为 true。
根据我的评论:
我不确定插入键,但您正在寻找助记符。在您的表单上,在您想要快捷方式的字符之前使用“&”字符。例如,在任何显示“打开”的按钮、菜单、标签等...上,将文本更改为“&打开”,它就会执行您想要的操作。
编辑:请记住,这会绑定 Alt+yourCharacter 组合键,而不仅仅是单个键。如果您正在寻找专门做特殊键(插入,F1 等...),您将需要从其他答案中实施解决方案(我认为@QtX 的解决方案会满足您的需求)