¿Cómo puedo capturar las pulsaciones de tecla de entrada en cualquier lugar de mi formulario y forzarlo a activar el evento del botón de envío?
¿Cómo puedo capturar las pulsaciones de tecla de entrada en cualquier lugar de mi formulario y forzarlo a activar el evento del botón de envío?
Respuestas:
Si establece la Form
's AcceptButton
propiedad a uno de los Button
s en el Form
, obtendrá que el comportamiento por defecto.
De lo contrario, establezca la KeyPreview
propiedad true
en Form
y controle su KeyDown
evento. Puede buscar la Enter
clave y realizar las acciones necesarias.
Puede designar un botón como "AcceptButton" en las propiedades del formulario y eso detectará cualquier pulsación de tecla "Enter" en el formulario y las enrutará a ese control.
Consulte Cómo: Designar un botón de Windows Forms como el botón Aceptar utilizando el Diseñador y observe las pocas excepciones que describe (cuadros de texto de varias líneas, etc.)
Como se indicó 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 sepa si el diálogo fue aceptado o descartado.
Puedes suscribirte al KeyUp
evento del TextBox
.
private void txtInput_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
DoSomething();
}
El formulario tiene una propiedad KeyPreview que puede utilizar para interceptar la pulsación de tecla.
Simplemente use
this.Form.DefaultButton = MyButton.UniqueID;
** Pon tu identificación de botón en lugar de 'MyButton'.