Подтвердить что ты не робот

Windows Forms - Enter keypress активирует кнопку отправки?

Как я могу захватить ввод нажатий в любом месте моей формы и заставить его запустить событие кнопки отправки?

4b9b3361

Ответ 1

Если вы установили свойство FormButton в одну из кнопок в форме, вы получите это поведение по умолчанию.

В противном случае установите для свойства KeyPreview значение True в форме и обработайте его событие KeyDown. Вы можете проверить клавишу Enter и предпринять необходимые действия.

Ответ 2

Вы можете назначить кнопку в качестве "AcceptButton" в свойствах формы, и она будет захватывать любые "Enter" нажатия на форму и направлять их в этот элемент управления.

Смотрите эту статью MSDN и обратите внимание на несколько исключений, которые она описывает (многострочные текстовые поля и т.д.)

Ответ 3

private void textBox_KeyDown(object sender, KeyEventArgs e) {
    if (e.KeyCode == Keys.Enter){
        button.PerformClick();
    }
}

Ответ 4

Как указано выше, установите для своей формы свойство AcceptButton одной из его кнопок И установите для свойства DialogResult для этой кнопки значение DialogResult.OK, чтобы вызывающий абонент узнал, был ли диалог принят или отклонен.

Ответ 5

Вы можете подписаться на событие KeyUp в текстовом поле.

private void txtInput_KeyUp(object sender, KeyEventArgs e)
{

    if(e.KeyCode == Keys.Enter)
       DoSomething();

}

Ответ 6

Форма имеет свойство KeyPreview, которое вы можете использовать для перехвата нажатия клавиши.

Ответ 7

Установите для атрибута KeyPreview в вашей форме значение True, затем используйте событие KeyPress на уровне вашей формы, чтобы обнаружить ключ Enter. При обнаружении вызовите любой код, который вы бы указали для кнопки "отправить".

Ответ 8

  if (e.KeyCode.ToString() == "Return")
  { 
      //do something
  }

Ответ 9

Просто используйте

this.Form.DefaultButton = MyButton.UniqueID;  

** Поместите свой идентификатор кнопки вместо "MyButton".