#c# #winforms #keyboard-shortcuts #menuitem #menubar
#c# #winforms #сочетания клавиш #menuitem #панель меню
Вопрос:
Я пытаюсь использовать отдельные буквы для навигации по строке меню. Я знаю, что могу использовать amp;
, чтобы показать, какую букву я могу щелкнуть, чтобы представить каждый элемент.
Но как мне на самом деле настроить сочетания клавиш с одной клавишей?
Я просматривал панель свойств, но, похоже, ни один из них этого не делает.
О, подождите, это вообще возможно? Или я должен использовать ALT Keyдля этого? Обычные программы используют ALTKeyкомбинации .
Ответ №1:
При добавлении сочетания клавиш через amp;
символ в пункте меню вы можете получить доступ к меню, набрав ALT Key
Комментарии:
1. Хорошо, поэтому должна быть комбинация ALT. Достаточно справедливо.
2. Ну, вы всегда можете обнаружить любой ввод клавиш и открыть меню, если пользователь
X
, например, нажмет. Но что, если он захочет ввестиx
текстовое поле?3. Очень верно. Хорошо, это отвечает на мой вопрос. Спасибо.
Ответ №2:
Вы можете использовать такой код:
this.InputBindings.Add(new KeyBinding(ApplicationCommands.Close, new KeyGesture(Key.C)));
Это пример для команды приложения «закрыть». И это будет вызвано нажатием клавиши «c». Этот код вы должны написать в конструкторе окна или что-то еще, потому что он работает только таким образом.
Комментарии:
1. Мне нравится этот ответ. Однажды это может быть полезно. Но пока я считаю, что буду использовать комбинацию клавиш ALT .
2. Спасибо. да, лучше использовать комбинацию с модификатором.
Ответ №3:
Это стандартное поведение для меню в Windows. Если вы показываете меню, и ваше меню выглядит так:
A
B
-
C
D
И вы нажимаете клавишу D, действие D будет выполнено.
Если вы используете ALT keyфункциональность, вам нужно добавить символ amp; в пункт меню, как сказал @Otiel .
Комментарии:
1. Я полагаю, вы имеете в виду, что когда я нажимаю ALT F для отображения содержимого меню File, я могу нажать букву, например, «x» для выхода. Да, я знаю об этом.
2. @HelpNeeder: Да, это был бесполезный ответ:-(
3. Что делать, если два (или более) пункта меню начинаются с одной и той же буквы? Я думаю, вам следует указать это в своем ответе.