Tecla Enter Por Tecla Tab

20/08/2003 - 11:32 por Miguel Genol | Informe spam
Que debo hacer para que en un formulario WinForm al pulsar la tecla ENTER
pase el foco al siguiente control. Como si hubiese pulsado la tecla TAB.
La logica del proceso parece muy sencilla .
Atrapar cuando han pulsado la tecla ENTER (Con el evento KeyPress)

Conseguir que control es el que tiene actualmente el foco
supongamos que este sea
Control CtlFocusActual = ??????? ;

Pasar el foco al siguiente control mediante la setencia
Control myCtl=this.GetNextControl(CtlFocusActual,true) ;
if (myCtl != null) myCtl.Focus() ;

Pero como se cual es el control que actualmente tiene el foco

Alguna idea ????
 

Leer las respuestas

#1 Tristan
21/08/2003 - 12:35 | Informe spam
No necesitas GetNextControl. Puedes usar simplemente la clase SendKeys:

Pon en tu formulario la propiedad KeyPreview = True, y añade el tratamiento
del evento KeyPress.

private void Form1_KeyPress(object sender,
System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar == '')
SendKeys.Send("{Tab}");
}

Juan Carlos Badiola
MVP - C#

Preguntas similares