【问题标题】:KeyDown KeyEventArgs won't workKeyDown KeyEventArgs 不起作用
【发布时间】:2014-02-21 19:43:45
【问题描述】:

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

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

【问题讨论】:

  • 使用你的VS并在属性窗口中添加一个事件。
  • 热键是什么意思?像 Ctrl+O 用于打开或 Alt+F 用于文件菜单?
  • @Brandon 是的,就是这样。特别是在这种情况下,我试图设置 INSERT 键来停止我的计时器。
  • 您只需要连接事件。然后你可以点击插入,你的计时器将停止。是否有任何键进入该方法?
  • @user3002135 - 这是表单还是控制台应用程序?

标签: c# keydown hotkeys registerhotkey global-hotkey


【解决方案1】:

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

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

编辑

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

【讨论】:

  • @user3002135 当然可以。 This isn't working 不提供任何信息。你是怎么测试的。你收到错误了吗?你的代码在哪里?
  • 好吧,当我使用钥匙时,它甚至不会进入空隙。
  • @user3002135 除了说不工作之外,您坚持不再发布任何信息。这就是我所能做的所有事情来帮助你获得可用的信息。
【解决方案2】:

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

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

【讨论】:

  • 我不知道为什么,但是当我按下插入时没有任何反应。也许我对此很愚蠢:/
  • @user3002135 - 你应该在构造函数InitializeComponents() 之后添加this.KeyDown += .... public Form1() {...}
  • 我做了,但还是不行。这对我来说似乎很奇怪,因为我在找到所有说明之后尝试了一切,但没有一个有效......
  • @user3002135 - 你能用与接线相关的代码更新你的问题吗?当您不提供比您尝试调用的方法更多的代码时,很难判断出了什么问题。
【解决方案3】:

根据我的评论:

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

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

【讨论】:

    猜你喜欢
    • 2013-03-16
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多