Visual Basic.NET - simular tecla tab

 
Vista:

simular tecla tab

Publicado por :D (7 intervenciones) el 17/04/2008 23:46:03
Hola.

¿Alguien conoce una forma de dar la funcionalidad de la tecla TAB a otra tecla?

Encontré una rutina en visual basic 6.0 pero no pude hacerla funcionar en vb.net...

La idea es que al oprimir la tecla 'Enter' o 'Intro' al estar el focus en algún control, éste se mueva hacia el control siguiente correspondiendo con su tab index.

Saludos!
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
sin imagen de perfil

RE:simular tecla tab

Publicado por P. J. (706 intervenciones) el 17/04/2008 23:58:28
Puedes usar este procedimiento:

Public Sub AvanceTab(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

Para usarlo debes crear un evento que agrupe los controles; esto para no llamar al procedimiento en cada keypress de los controles.

Private Sub EventoControles(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles cboCliente.KeyPress, txtNombre.KeyPress, txtEmail.KeyPress
AvanceTab(sender, e, New Control() {Me.cboCliente, Me.txtNombre, Me.txtEmail})
End Sub

Claro que la propiedad TABINDEX de cada control la debes asignar segun como quieras que avance.

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

SendKeys.Send("{TAB}")

Publicado por Jim Miñano (44 intervenciones) el 18/04/2008 02:59:55
Con esto trabajamos nosotros en vb2005
Public Class frmTabTest
Private Sub SimulaTab(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles TextBox1.KeyPress, TextBox2.KeyPress
If e.KeyChar = Chr(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
End Class
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