如何通过键盘快捷键打开工具栏菜单?

发布于 2024-12-02 23:45:03 字数 67 浏览 0 评论 0原文

我的窗体上有一个空白的工具栏按钮,我在运行时添加其所有菜单和菜单项。 我需要为此工具栏的菜单添加键盘快捷键。我该怎么做?

I have a blank toolbar button on my form and I am adding all its menus and menu items at run-time.
I need to add a keyboard shortcut to the menus of this toolbar. How can I do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

〆一缕阳光ご 2024-12-09 23:45:03

您可以使用“&”菜单项文本中的特殊符号用于标记键。看看这个简单的例子: http://www.java2s .com/Code/CSharp/GUI-Windows-Form/Addshortcutkeytoamenuitem.htm

编辑:

1)如果下拉按钮中有文本设置“&”就足够了符号,就像菜单让它下降一样。因此,在这种特定情况下,在代码中的某个位置分配给该按钮的“Actions”字符串必须变为“&Actions”。

2)如果它只是图像下拉(按钮上没有可见的文本),不幸的是“&”符号技巧不起作用。但你可以这样做,例如,这样的事情。一个伪代码

protected override void OnKeyDown(KeyEventArgs e)
{

    if (e.Alt && e.KeyCode == Keys.A)
    {
        toolStripDropDownButton1.ShowDropDown();
    }
    base.OnKeyDown(e);
}

希望这有帮助。

You can use "&" special symbol in menu item text to mark key. Have a look on this simple example: http://www.java2s.com/Code/CSharp/GUI-Windows-Form/Addshortcutkeytoamenuitem.htm

EDIT:

1) If drop down button has a text in it it's enough to set '&' symbol, like for menus to make it drop. So in this specific case "Actions" string assigned to that button at some point in the code, have to become "&Actions".

2) If it's only image drop down (no text visible on the button) unfortunately '&' symbol trick doesn't work. But you can do, for example, something like this. A pseudocode:

protected override void OnKeyDown(KeyEventArgs e)
{

    if (e.Alt && e.KeyCode == Keys.A)
    {
        toolStripDropDownButton1.ShowDropDown();
    }
    base.OnKeyDown(e);
}

Hope this helps.

帥小哥 2024-12-09 23:45:03

您在这里没有显示太多关于您正在做的事情的代码。我会尝试一下:

ToolStripMenuItem tsm = new ToolStripMenuItem("&Test Menu");
tsm.ShortcutKeys = ((Keys)((Keys.Control | Keys.T)));

You aren't showing much code here on what you are doing. I'll take a stab at it:

ToolStripMenuItem tsm = new ToolStripMenuItem("&Test Menu");
tsm.ShortcutKeys = ((Keys)((Keys.Control | Keys.T)));
偏闹i 2024-12-09 23:45:03

使用 tbrDropDownButton.Text = "&" 代替 tbrDropDownButton.Text = UCMDefinitions.GetCaption(textId) + UCMDefinitions.GetCaption(textId)。这会将菜单项的第一个字母指定为快捷键。如果有多个项目具有相同的快捷键,则用户必须在按一次或多次快捷键后按 Enter。

In the place of tbrDropDownButton.Text = UCMDefinitions.GetCaption(textId), use tbrDropDownButton.Text = "&" + UCMDefinitions.GetCaption(textId). This will assign the first letter of the menu item as the shortcut key. If there are multiple items with the same shortcut key, the user will have to press Enter after one or more presses of the shortcut key.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文