如何设置热键快捷键" Ctrl + Plus Sign"

时间:2017-03-09 20:59:50

标签: c# winforms hotkeys menustrip

我需要为其中一个"Plus Sign"菜单项设置快捷键 Ctrl + MenuStrip

我更喜欢不以编程方式将其设置为在菜单项的右侧有一个帮助文本块:

Screenshot of menu

但我没有看到有这样的变种可供选择。最近的是" OemPlus"

2 个答案:

答案 0 :(得分:2)

Oemplus是正确的设置。如果您不喜欢该文字,请同时更改ShortcutKeyDisplayString,例如到Ctrl++

Screenshot of Hotkey

请注意,它被称为OemPlus而不是NumPlus,因此不适用于Numpad plus。有些人似乎不知道加号在哪里,并会尝试Numpad plus。

如果您需要两者,则需要KeyPreview = true和代码:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData == (Keys.Control | Keys.Add))
    {
        MessageBox.Show("Ctrl+Numplus");
        return true;
    }
    if (keyData == (Keys.Control | Keys.Oemplus))
    {
        MessageBox.Show("Ctrl+Oemplus");
        return true;
    }
    return base.ProcessCmdKey(ref msg, keyData);
}

答案 1 :(得分:0)

答案可以在MSDN中找到 https://msdn.microsoft.com/en-us/library/ms171651(v=vs.110).aspx

显示菜单命令的自定义快捷键

将菜单命令的ShortcutKeyDisplayString属性设置为所需的键盘组合,例如CTRL+SHIFT+S,并将ShowShortcutKeys属性设置为true。