【问题标题】:How to set hotkey shortcut "Ctrl + Plus Sign"如何设置快捷键“Ctrl+加号”
【发布时间】:2017-07-31 00:37:18
【问题描述】:

我需要为MenuStrip 菜单项之一设置快捷键Ctrl + "Plus Sign"。

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

但我没有看到有这样的变体可供选择。最接近的是“OemPlus”

【问题讨论】:

  • 我不记得它的名字,但我相信你能找到它.. 菜单项上有一个属性可以让你用你喜欢的任何文本覆盖热键文本。跨度>

标签: c# winforms hotkeys menustrip


【解决方案1】:

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

请注意,它被称为 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);
}

【讨论】:

  • 但是小键盘上的 + 和 - 可以完美运行,无论启用或禁用数字锁定。另一个加号位于与“=”相同的按钮上。并且不能正常工作。所以通过逻辑小键盘加减是必须工作的。但他们没有。
  • 了解我的问题。谢谢。是否可以同时使用两个快捷方式?我的意思是 NUM 快捷方式 + OEM 快捷方式。
  • @Andrew:我更新了这个问题。那么你需要代码。
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 2021-04-11
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多