【问题标题】:ToolStripMenuItem.ShortcutKeys not working unless menu has focus除非菜单具有焦点,否则 ToolStripMenuItem.ShortcutKeys 不起作用
【发布时间】:2015-08-20 08:13:08
【问题描述】:

我有一个带有 MainMenuStrip 的表单。对于这个菜单条中的一些 ToolStripMenuItems,我设置了一个 ShortcutKeys。但是,只有当我的菜单条具有焦点时,才能使用此快捷键。

这是预期的行为吗?我认为无论焦点在哪里,这些快捷方式都应该有效?

谢谢。

【问题讨论】:

  • 我想通了。在我的表单中,我已经覆盖了 ProcessCmdKey,如果密钥不需要我的函数处理,我只是返回 false。返回 Form::ProcessCmdKey 解决了这个问题。

标签: winforms visual-c++ visual-studio-2013 keyboard-shortcuts


【解决方案1】:

这里是代码,这个例子使用 - 'Enter' 键作为快捷键 - 你可以放你的。

覆盖表单中的以下事件。

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
        if (keyData == Keys.Enter)
        {
            //write code for your shortcut action
            return true;
        }
        return base.ProcessCmdKey(ref msg, keyData);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    相关资源
    最近更新 更多