Как я могу фиксировать нажатия клавиш в любом месте формы и заставить их запускать событие кнопки отправки?
Как я могу фиксировать нажатия клавиш в любом месте формы и заставить их запускать событие кнопки отправки?
Ответы:
Если вы установите Form
«сек AcceptButton
свойства одного из Button
секунды на Form
, вы получите такое поведение по умолчанию.
В противном случае, установите KeyPreview
свойство true
на Form
и обрабатывать его KeyDown
событие. Вы можете проверить наличие Enter
ключа и предпринять необходимые действия.
Вы можете обозначить кнопку как «AcceptButton» в свойствах формы, и она будет улавливать любые нажатия клавиш «Enter» в форме и перенаправлять их в этот элемент управления.
См. Раздел Практическое руководство. Назначение кнопки Windows Forms в качестве кнопки принятия с помощью конструктора и обратите внимание на несколько выделенных им исключений (многострочные текстовые поля и т. Д.).
Как указывалось ранее, установите свойство AcceptButton своей формы на одну из ее кнопок И установите для свойства DialogResult этой кнопки значение DialogResult.OK , чтобы вызывающий абонент знал, было ли диалоговое окно принято или отклонено.
Вы можете подписаться на KeyUp
мероприятие TextBox
.
private void txtInput_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
DoSomething();
}
Форма имеет свойство KeyPreview, которое можно использовать для перехвата нажатия клавиш.
Просто используйте
this.Form.DefaultButton = MyButton.UniqueID;
** Поместите свой идентификатор кнопки вместо MyButton.