c# - 如何设置热键快捷方式 "Ctrl + Plus Sign"

标签 c# winforms hotkeys menustrip

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

我更喜欢以编程方式设置它,以便在菜单项的右侧有一个帮助文本 block :

Screenshot of menu

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

最佳答案

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);
}

关于c# - 如何设置热键快捷方式 "Ctrl + Plus Sign",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42705300/

相关文章:

c# - 调整窗口或容器大小时如何修复滚动条?

jquery - 如何使用快捷键打开 BootStrap 模式弹出窗口

wpf - 如何通过在WPF组合框中键入键盘字母键来选择项目?

c# - 使用 fiddlercore 后关闭应用程序时代理设置未更改

c# - 取消从应用程序调用网络服务

c# - 如何使用 C# 并行发送 Web 请求。

c# - 在 C# Windows 应用程序中将两个数据表导入到一个 csv 文件中

python - 对于带有 Python 的 Selenium,我怎样才能让它按 CTRL、SHIFT、i?

c# - 比较两个对象是否为字符串且是否相等

c# - MySql 中 EF5 的最小可用整数