如何设置快捷键“Ctrl+加号”
Posted
技术标签:
【中文标题】如何设置快捷键“Ctrl+加号”【英文标题】:How to set hotkey shortcut "Ctrl + Plus Sign" 【发布时间】:2017-07-31 00:37:18 【问题描述】:我需要为MenuStrip
菜单项之一设置快捷键Ctrl + "Plus Sign"
。
我更喜欢不以编程方式将其设置为在菜单项右侧有一个帮助文本块:
但我没有看到有这样的变体可供选择。最接近的是“OemPlus”
【问题讨论】:
我不记得它的名字,但我相信你能找到它.. 菜单项上有一个属性可以让你用你喜欢的任何文本覆盖热键文本。跨度> 【参考方案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。
【讨论】:
以上是关于如何设置快捷键“Ctrl+加号”的主要内容,如果未能解决你的问题,请参考以下文章