Visual Basic.NET - Mover el Cursor entre TexBox con la Tecla Enter

   
Vista:

Mover el Cursor entre TexBox con la Tecla Enter

Publicado por Ingeniero (16 intervenciones) el 25/01/2008 19:59:58
Saludos! Amigos Expertos en Este Maravilloso Foro de Vb .Net

Tengo desarrollado un formulario de Facturas, y se me presenta la necesidad, de cómo lograr hacer que el cursor se mueva entre los TexBoxs Presionando la Tecla Enter, es decir, en condiciones normales solo la tecla TAB me hace esto, pero quiero que mis usuarios utilicen la tecla <Enter> para lograr ese efecto, a veces los Usuarios inexpertos no saben o no acostumbran a utilizar el TAB, como puedo hacerlo, si alguien sabe una manera bien sea por programación o por propiedades me de por favor una orientación en tal sentido, de Antemano, 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:Mover el Cursor entre TexBox con la Tecla Enter

Publicado por P. J. (706 intervenciones) el 25/01/2008 20:14:29
...
En el sistema que desarrollo, nos obligaron esta funcionalidad e implementamos esto:

'ESTE ES EL PROCEDIMIENTO, LO PUEDES PONER EN UNA CLASE EXTERNA O POR CADA FORMULARIO
Public Sub ControlaEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs, ByVal control() As Control)
If e.KeyChar = Convert.ToChar(Keys.Return) Then
Dim indice As Integer = sender.TabIndex + 1
For i As Integer = 0 To control.Length - 1
If control(i).TabIndex = indice Then
control(i).Focus()
Exit Sub
End If
Next i
End If
End Sub

'ASI SE USA
Private Sub ControlaEnterControles(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDescripcion.KeyPress, txtModelo.KeyPress, cboMarca.KeyPress
ControlaEnter(sender, e, New Control() {Me.txtDescripcion, Me.txtModelo, Me.cboMarca})
End Sub

Como veras al Usarlo, le agrego el evento KEYPRESS a todos los controles que se desplazaran con enter, es sencillo.

SOLO considera que el enter funcionara de acuerdo a la propiedad TabIndex asignado a cada control.

Salu2!
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:Mover el Cursor entre TexBox con la Tecla Enter

Publicado por Ingeniero (16 intervenciones) el 25/01/2008 20:21:57
Ok, lo estudiare y aplicare, Muchas Gracias...
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:Mover el Cursor entre TexBox con la Tecla Enter

Publicado por encore121 (14 intervenciones) el 25/01/2008 20:20:12
Puedes poner este codigo en el evento KeyPress de cada textbox

If (e.KeyChar = Convert.ToChar(Keys.Enter)) Then
SendKeys.Send("{TAB}")
End If

ahora lo unico que tienes que cuidar es que el orden de la tabulacion lleve el orden presiso para que pase el foco a la caja de texto que tu kieras

tambien puedes utilizar la propiedad Focus() de los textbox solo debes mucho el orden por ejemplo si tienes 3 cajas de texto (textbox1, textbox2, textbox3) en el evento KeyPress del textbox1 pondrias esto

If (e.KeyChar = Convert.ToChar(Keys.Enter)) Then
TextBox2.Focus()
End If

en el del textbox2 esto:

If (e.KeyChar = Convert.ToChar(Keys.Enter)) Then
TextBox3.Focus()
End If

y asi sucesivamente
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:Mover el Cursor entre TexBox con la Tecla Enter

Publicado por Ingeniero (16 intervenciones) el 25/01/2008 20:24:20
Ok, Muchas Gracias...
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:Mover el Cursor entre TexBox con la Tecla Enter

Publicado por Ingeniero (16 intervenciones) el 25/01/2008 20:32:33
...el codigo que me proporcionaste, me funciono perfectamente, osea me refiero al primero:

If (e.KeyChar = Convert.ToChar(Keys.Enter)) Then
SendKeys.Send("{TAB}")
End If

pero con la unica diferencia, que lo hace mas simple, que en lugar de ponerlo en el evento KeyPress de cada Textbox (porque son muchos), lo puse en el evento KeyPress del Formulario Habiendo Puesto en True la Propiedad KeyPreview del mismo. Muchas Gracias por tu Amable Aporte. 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