Как использовать сочетание клавиш с одной клавишей в Windows Forms? Если возможно

#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. Что делать, если два (или более) пункта меню начинаются с одной и той же буквы? Я думаю, вам следует указать это в своем ответе.