如何设置热键快捷方式"Ctrl + Plus Sign"
How to set hotkey shortcut "Ctrl + Plus Sign"
我需要为 MenuStrip
菜单项之一设置快捷方式 Ctrl + "Plus Sign"
。
我更喜欢以非编程方式将其设置为在菜单项的右侧有一个帮助文本块:
但是我没有看到有这样的变体可供选择。最近的是 "OemPlus"
Oemplus
是正确的设置。如果您不喜欢该文本,请同时更改 ShortcutKeyDisplayString
,例如至 Ctrl++
请注意,它称为 OemPlus 而不是 NumPlus,因此不适用于 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);
}
答案可以在MSDN中找到
https://msdn.microsoft.com/en-us/library/ms171651(v=vs.110).aspx
显示菜单命令的自定义快捷键
将菜单命令的 ShortcutKeyDisplayString 属性 设置为所需的键盘组合,例如 CTRL+SHIFT+S
并将 ShowShortcutKeys
属性 设置为真。
我需要为 MenuStrip
菜单项之一设置快捷方式 Ctrl + "Plus Sign"
。
我更喜欢以非编程方式将其设置为在菜单项的右侧有一个帮助文本块:
但是我没有看到有这样的变体可供选择。最近的是 "OemPlus"
Oemplus
是正确的设置。如果您不喜欢该文本,请同时更改 ShortcutKeyDisplayString
,例如至 Ctrl++
请注意,它称为 OemPlus 而不是 NumPlus,因此不适用于 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);
}
答案可以在MSDN中找到 https://msdn.microsoft.com/en-us/library/ms171651(v=vs.110).aspx
显示菜单命令的自定义快捷键
将菜单命令的 ShortcutKeyDisplayString 属性 设置为所需的键盘组合,例如 CTRL+SHIFT+S
并将 ShowShortcutKeys
属性 设置为真。