3 ответов:
Это WinForms? Если это так, вы можете установить
AcceptButtonформы, чтобы быть кнопкой, о которой идет речь. При этом нажатие клавиши Enter будет вести себя точно так же, как нажатие кнопки мышью, но этот эффект будет иметь место только в том случае, если в данный момент сфокусированный элемент не является чем-то еще, что также захватит нажатие клавиши.
Я пытался решить ту же самую проблему. Когда кнопка фокусировалась, нажатие клавиши enter не приводило к срабатыванию события KeyDown или KeyPress. Однако событие KeyUp сработало. Проблема решена.
private void CmdNoP_KeyUp(object sender, KeyEventArgs e) { // I do not understand why this works if (e.KeyCode == Keys.Return) { cmdNoP_MouseClick(sender, null); } }
Я считаю, что [Пробел] - Это клавиша по умолчанию, которая "нажимает" активную кнопку (или флажок и так далее). Вы всегда можете написать метод для таких событий, как
OnKeyDown,OnKeyUpили что-то подобное. В этих случаях вы можете проверить нажатую клавишу и сделать, что делает кнопка нажатия, если эта клавиша [enter].
Comments