Как открыть меню панели инструментов с помощью сочетаний клавиш? - PullRequest
1 голос
/ 02 сентября 2011

В моей форме есть пустая кнопка панели инструментов, и я добавляю все ее меню и пункты меню во время выполнения. Мне нужно добавить сочетание клавиш в меню этой панели инструментов. Как я могу это сделать?

Ответы [ 3 ]

3 голосов
/ 02 сентября 2011

Вы не показываете много кода здесь о том, что вы делаете. Я нанесу удар:

ToolStripMenuItem tsm = new ToolStripMenuItem("&Test Menu");
tsm.ShortcutKeys = ((Keys)((Keys.Control | Keys.T)));
3 голосов
/ 02 сентября 2011

Вы можете использовать специальный символ «&» в тексте пункта меню, чтобы пометить клавишу.Посмотрите на этот простой пример: http://www.java2s.com/Code/CSharp/GUI-Windows-Form/Addshortcutkeytoamenuitem.htm

РЕДАКТИРОВАТЬ:

1) Если в выпадающей кнопке есть текст, достаточно установить символ '&', как для меню, чтобы сделать это.Таким образом, в данном конкретном случае строка «Actions», назначенная этой кнопке в некоторой точке кода, должна стать «& Actions».

2) К сожалению, если это только изображение, выпадающее из списка (на кнопке нет текста)Трюк с символом «&» не работает.Но вы можете сделать, например, что-то вроде этого.A псевдокод :

protected override void OnKeyDown(KeyEventArgs e)
{

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

Надеюсь, это поможет.

1 голос
/ 02 сентября 2011

Вместо tbrDropDownButton.Text = UCMDefinitions.GetCaption(textId) используйте tbrDropDownButton.Text = "&" + UCMDefinitions.GetCaption(textId). Это назначит первую букву пункта меню в качестве сочетания клавиш. Если имеется несколько элементов с одной и той же клавишей быстрого доступа, пользователь должен будет нажать клавишу «Ввод» после одного или нескольких нажатий клавиши быстрого доступа.

...