Visual Basic.NET - Usar ENTER en lugar de TAB

 
Vista:

Usar ENTER en lugar de TAB

Publicado por Pomelo (16 intervenciones) el 07/01/2004 18:31:35
Hola, me gustaría saber si existe la posibilidad de conseguir que en un formulario al pulsar la tecla ENTER, el programa salte al siguiente TextBox, Button, ... tal y como hace actualmente al pulsar el tabulador. Se que se puede hacer programando el evento KeyPress de cada TextBox, Button, ... pero tengo demasiados y sería un rollo, quería saber si es posible hacerlo con una propiedad del formulario, como pasa con el AcceptButton, HelpButton y CancelButton, muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Usar ENTER en lugar de TAB

Publicado por Pomelo (16 intervenciones) el 07/01/2004 18:48:07
Ya resolví mi problema, la cuestión es poner la propiedad KeyPreview del formulario (se encuentra en Dynamic Properties) a 'True' y entonces programar el evento KeyPress del formulario. Así las teclas que pulses serán recibidas primero por el formulario y luego por el control que tenga el foco, evitando tener que ir programando todos los eventos KeyPress de todos los controles de un formulario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Usar ENTER en lugar de TAB

Publicado por Marco Antonio (67 intervenciones) el 07/01/2004 21:40:01
Me intereso el tema, ya puse la propiedad en true, pero ahora que es lo que debo poner el evento keypress del formulario......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Usar ENTER en lugar de TAB

Publicado por Edgar (1501 intervenciones) el 08/01/2004 01:13:55
Hola

Preguntas si la tecla presionada es enter... eso lo haces asi...
If (e.KeyChar = Chr(13)) Then
Dentro del if, ubicas el control actualmente seleccionado (es el objecto sender pasado como parámetro) y usas el metodo getnextcontrol para ubicar el siguiente control en el orden del tab...

Esto debe funcionar

If (e.KeyChar = Chr(13)) Then
Me.GetNextControl(CType(sender, System.Windows.Forms.Control), True).Focus()
End If

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Usar ENTER en lugar de TAB

Publicado por Pomelo (16 intervenciones) el 08/01/2004 10:23:46
Mi solución es la siguiente:

Private Sub formulario_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode() = Keys.Enter Then
SendKeys.Send("{Tab}")
End If
End Sub

Implemento el evento keyDown del formulario y luego envio un tabulador para que haga el mismo efecto la tecla ENTER que el TAB.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar