Pregunta Formularios de Windows: Entrar presionar tecla activa el botón de enviar?


¿Cómo puedo capturar las teclas presionadas en cualquier lugar de mi formulario y forzarlo a disparar el evento de botón de envío?


73
2017-10-02 22:28


origen


Respuestas:


Si configura la propiedad AcceptButton de su formulario en uno de los botones del formulario, obtendrá ese comportamiento de forma predeterminada.

De lo contrario, establezca la propiedad KeyPreview en True en el formulario y maneje su evento KeyDown. Puede verificar la tecla Intro y tomar la acción necesaria.


165
2017-10-02 22:39



Puede designar un botón como "AcceptButton" en las propiedades del Formulario y que capturará las pulsaciones de tecla "Enter" en el formulario y lo encaminará a ese control.

Ver este artículo de MSDN y tenga en cuenta las pocas excepciones que describe (cuadros de texto multilínea, etc.)


20
2017-10-02 22:40



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

13
2017-07-25 08:36



Como se mencionó anteriormente, configure su formulario AcceptButton propiedad a uno de sus botones Y establecer el DialogResult propiedad de ese botón para DialogResult.OK, para que la persona que llama sepa si el diálogo fue aceptado o rechazado.


8
2018-06-10 11:25



Puede suscribirse al evento KeyUp del cuadro de texto.

private void txtInput_KeyUp(object sender, KeyEventArgs e)
{

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

}

5
2018-04-20 19:09



La forma tiene un KeyPreview propiedad que puede usar para interceptar la pulsación de tecla.


2
2017-10-02 22:39



Establezca el atributo KeyPreview en su formulario en True, luego use el evento KeyPress en su nivel de formulario para detectar la tecla Intro. En la detección, llame al código que tenga para el botón "enviar".


0
2017-10-02 22:39



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

0
2018-05-29 05:02