如何通过键盘快捷键打开工具栏菜单?
我的窗体上有一个空白的工具栏按钮,我在运行时添加其所有菜单和菜单项。 我需要为此工具栏的菜单添加键盘快捷键。我该怎么做?
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用“&”菜单项文本中的特殊符号用于标记键。看看这个简单的例子: http://www.java2s .com/Code/CSharp/GUI-Windows-Form/Addshortcutkeytoamenuitem.htm
编辑:
1)如果下拉按钮中有文本设置“&”就足够了符号,就像菜单让它下降一样。因此,在这种特定情况下,在代码中的某个位置分配给该按钮的“Actions”字符串必须变为“&Actions”。
2)如果它只是图像下拉(按钮上没有可见的文本),不幸的是“&”符号技巧不起作用。但你可以这样做,例如,这样的事情。一个伪代码:
希望这有帮助。
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:
Hope this helps.
您在这里没有显示太多关于您正在做的事情的代码。我会尝试一下:
You aren't showing much code here on what you are doing. I'll take a stab at it:
使用
tbrDropDownButton.Text = "&" 代替
。这会将菜单项的第一个字母指定为快捷键。如果有多个项目具有相同的快捷键,则用户必须在按一次或多次快捷键后按 Enter。tbrDropDownButton.Text = UCMDefinitions.GetCaption(textId)
+ UCMDefinitions.GetCaption(textId)In the place of
tbrDropDownButton.Text = UCMDefinitions.GetCaption(textId)
, usetbrDropDownButton.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.