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

обратите внимание на подчеркнутый, F E V P B.
У меня есть метка и элемент управления TextBox. Я хотел бы связать это Alt сочетание клавиш для метки и текстового поля. Так что если кто-то нажимает Alt + B основное внимание уделяется связанное текстовое поле. Есть ли способ создать это ассоциация?
3 ответов
когда метка получает фокус от нажатия клавиши акселератора (установите с помощью &), он перенаправляет фокус на следующий элемент управления в порядке табуляции, так как метки не редактируются. Вам нужно, чтобы textbox был следующим элементом управления в порядке табуляции.
чтобы просмотреть и исправить порядок вкладок формы, используйте команду Вид + порядок вкладок в среде IDE. Использование TabPages или других контейнеров добавляет уровень вложенности в порядок вкладок (например,1.1, 1.2 вместо 1 и 2), но если метка и текстовое поле в одном контейнере не должно быть слишком трудно правильно установить.
тип &File или &Edit и вы получите нужное подчеркнуть. Это автоматически свяжет подчеркнутые буквы с Alt ярлык для сайта.
правка.
Ваш вопрос изменился, поэтому я хотел бы идти в ногу с моим ответом. Вы хотели бы поймать комбинацию клавиш (Alt + F) и установите фокус на текстовое поле.
вы можете попробовать это решение, используя событие KeyDown основной формы.
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Alt && e.KeyCode == Keys.F)
{
this.textBox1.Focus();
}
}
чтобы достичь этого, вы должны дополнительно установить KeyPreview собственность формы на true.
this.KeyDown += new KeyEventHandler(Form1_KeyDown);
void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Alt && e.KeyCode == Keys.W)
{
btnShowConstructionCdFun();
}
}