Как создать ярлыки Alt в приложении Windows Forms? - PullRequest
9 голосов
/ 07 января 2011

Я хотел бы создать сочетания клавиш для некоторых элементов управления в моем приложении Windows Forms.

Пример:

Screenshot of XYZ

Обратите внимание на подчеркнутое, F E V P B.

У меня есть метка и текстовое поле управления. Я бы хотел связать эту комбинацию клавиш Alt с меткой и текстовым полем. Поэтому, если кто-то нажимает Alt + B , основное внимание уделяется соответствующему текстовому полю. Есть ли способ создать эту ассоциацию?

Ответы [ 3 ]

11 голосов
/ 07 января 2011

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

Чтобы просмотреть и исправить порядок вкладок в вашей форме, используйте команду View + Tab Order в IDE.Использование TabPages или других контейнеров добавляет уровень вложенности в порядок вкладок (например, 1.1, 1.2 вместо просто 1 и 2), но если метка и текстовое поле находятся в одном контейнере, это не должноСлишком сложно правильно установить.

5 голосов
/ 07 января 2011

Введите &File или &Edit, и вы получите подчеркивание.Это автоматически связывает подчеркнутые буквы с ключевым словом Alt для быстрого доступа.

РЕДАКТИРОВАТЬ.Ваш вопрос изменился, поэтому я бы не отставал от своего ответа.Вы хотите перехватить комбинацию клавиш (Alt + F) и установить фокус на текстовом поле.

Вы можете попробовать это решение, используя событие KeyDown главной формы.Для этого необходимо дополнительно установить свойство KeyPreview формы на true.

0 голосов
/ 19 июля 2014
this.KeyDown += new KeyEventHandler(Form1_KeyDown);

void Form1_KeyDown(object sender, KeyEventArgs e) 
{ 
 if (e.Alt && e.KeyCode == Keys.W)
 { 
   btnShowConstructionCdFun(); 
 } 
}
...