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