Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# KeyDown KeyEventArgs赢得';行不通_C#_Keydown_Hotkeys_Registerhotkey_Global Hotkey - Fatal编程技术网

C# KeyDown KeyEventArgs赢得';行不通

C# KeyDown KeyEventArgs赢得';行不通,c#,keydown,hotkeys,registerhotkey,global-hotkey,C#,Keydown,Hotkeys,Registerhotkey,Global Hotkey,我试图在程序中包含热键,但我不知道如何执行此代码: private void Form_KeyDown(object data, KeyEventArgs e) { if (e.KeyCode == Keys.Insert) { timer1.Stop(); } } 你参加过那个活动吗?听起来好像没有接线 public Form() { this.KeyDown += new System.Windows.Forms.KeyEventHa

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

    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);
}
您可以通过这种方式绑定事件,或者双击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();
    }
}

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

编辑

顺便说一句:别忘了将表单的属性设置为true。

根据我的评论:

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


编辑:请记住,这将绑定Alt+yourCharacter组合键,而不仅仅是单个键。如果您特别希望执行特殊键(插入、F1等),则需要从其他答案中实现一个解决方案(我认为@QtX的解决方案可以满足您的需要)

使用VS并在“属性”窗口中添加事件。热键是什么意思?像Ctrl+O表示打开,或者Alt+F表示文件菜单?@Brandon是的,就像那样。特别是在这种情况下,我试图设置插入键来停止计时器。你只需连接事件。然后点击Insert,计时器就会停止。有没有键输入这个方法?@user3002135-这是一个窗体还是控制台应用程序?我不知道为什么,但当我按insert时什么也没发生。也许我有点傻:/@user3002135-你应该在构造函数中的
InitializeComponents()
之后添加
this.KeyDown+=..
,我做了,但仍然不起作用。这对我来说似乎很奇怪,因为在我找到所有的指令后,我尝试了所有的方法,但没有一个有效…@user3002135-你能用与连线相关的代码更新你的问题吗?当您提供的代码不多于您试图调用的方法时,很难判断出哪里出了问题。@user3002135当然可以<代码>这不起作用
不提供任何信息。你是怎么测试的。你有错误吗?您的代码在哪里?当我使用该键时,它甚至不会进入空白。@user3002135您坚持不发布任何信息,只说“不工作”。这是我所能做的一切,以帮助你与可用的信息。
protected override void OnKeyDown(KeyEventArgs e)
{
    if (e.KeyCode == Keys.Insert)
    {
        timer1.Stop();
    }
}