Tecla Enter en TextBox´s

19/05/2007 - 14:22 por Mickro | Informe spam
Hola, tengo un Form con los siguientes controles:

txtBox1 (TextBox) (TabIndex = 1)
txtBox2 (TextBox) (TabIndex = 2)
txtBox3 (TextBox) (TabIndex = 3)
txtBox4 (TextBox) (TabIndex = 4)
btnAceptar (Button) (TabIndex = 5)
btnCancelar (Button) (TabIndex = 6)

lo que quiero hacer es que cuando el foco este en txtBox1 o txtBox2 y
presione la tecla Enter, el foco pase al siguiente control (siguiente
TabIndex). Y cuando el foco este en txtBox3 o txtBox4 se presione el boton
btnACeptar, esto ultimo lo conseguí hacer con:

this.AcceptButton = this.btnAceptar;
this.AcceptButton.PerformClick();

Todo esto lo quiero hacer sin usar el evento KeyDown para cada TextBox, o
sea solo usar un evento KeyDown.
Intenté hacer poniendo la propiedad KeyPreview del Form en true y luego en
el evento KeyDown del Form ver si el Enter se presionó en txtBox3 o txtBox4
y ejecutar el Click en el boton btnAceptar pero no me salió.
Como puedo hacer esto? Gracias y saludos

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
19/05/2007 - 18:49 | Informe spam
Hola,

Creo q te servirá lo siguiente:

a) deja KeyPreview = true en el formualrio
b) no hace falta el KeyDown de ningún TextBox.
c) en el evento KeyPress del Form usa lo siguiente:
if (e.KeyChar == 13)

if (ActiveControl is TextBox)

{

if (ActiveControl == txtBox1 || ActiveControl == txtBox2)

SelectNextControl(ActiveControl, true, true, true, true); // pasar al
siguiente

else if (ActiveControl == txtBox3 || ActiveControl == txtBox4)

button1.PerformClick();

}





Slds - Octavio





"Mickro" escribió en el mensaje
news:%
Hola, tengo un Form con los siguientes controles:

txtBox1 (TextBox) (TabIndex = 1)
txtBox2 (TextBox) (TabIndex = 2)
txtBox3 (TextBox) (TabIndex = 3)
txtBox4 (TextBox) (TabIndex = 4)
btnAceptar (Button) (TabIndex = 5)
btnCancelar (Button) (TabIndex = 6)

lo que quiero hacer es que cuando el foco este en txtBox1 o txtBox2 y
presione la tecla Enter, el foco pase al siguiente control (siguiente
TabIndex). Y cuando el foco este en txtBox3 o txtBox4 se presione el boton
btnACeptar, esto ultimo lo conseguí hacer con:

this.AcceptButton = this.btnAceptar;
this.AcceptButton.PerformClick();

Todo esto lo quiero hacer sin usar el evento KeyDown para cada TextBox, o
sea solo usar un evento KeyDown.
Intenté hacer poniendo la propiedad KeyPreview del Form en true y luego en
el evento KeyDown del Form ver si el Enter se presionó en txtBox3 o
txtBox4 y ejecutar el Click en el boton btnAceptar pero no me salió.
Como puedo hacer esto? Gracias y saludos

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida