visual ventana una salir regresar programar pasar para otro formulario form deshabilitar como codigo cerrar boton c# winforms

c# - ventana - Formularios de Windows: Entrar presionar tecla activa el botón de enviar?



formclosing c# (9)

Como se estableció anteriormente, establezca la propiedad AcceptButton de su formulario en uno de sus botones Y establezca la propiedad DialogResult para ese botón en DialogResult.OK , para que la persona que llama pueda saber si el diálogo fue aceptado o rechazado.

¿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?


El formulario tiene una propiedad KeyPreview que puede usar para interceptar la pulsación de tecla.


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".


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.

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


Puede suscribirse al evento KeyUp del cuadro de texto.

private void txtInput_KeyUp(object sender, KeyEventArgs e) { if(e.KeyCode == Keys.Enter) DoSomething(); }


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.


Simplemente usa

this.Form.DefaultButton = MyButton.UniqueID;

** Coloque su id de botón en lugar de ''MyButton''.


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


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