Mover el enfoque con las flechas de desplazamiento

Fecha: 09/Nov/2004 (Lunes 08 de noviembre de 2004)
Autor: Mario Felix Guerrero, mfguerrero@msn.com

 


Este codigo permite mover el enfoque entre controles utilizando las feclas de desplazamiento "arriba" y "abajo", al presionar la flecha arriba el enfoque se mueve al control anterior, si se presiona la flecha "abajo", el foco pasa al siguiente control, hacia donde se mueve el foco depende del orden de tabulación (TabIndex)

Código en Visual Basic:

Private Sub MoverFoco(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
    ' Verifica la tecla presionada y obtiene el control siguiente o el anterior, segun la tecla
    If e.KeyCode = Keys.Up Then
            If Not Me.GetNextControl(sender, False) Is Nothing Then Me.GetNextControl(sender, False).Focus()
        ElseIf e.KeyCode = Keys.Down Then
            If Not Me.GetNextControl(sender, True) Is Nothing Then Me.GetNextControl(sender, True).Focus()
        End If
End Sub


Ahora solo hay que llamar el procedimiento en el handler del keydow del control, por ejemplo:

Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
    MoverFoco(sender, e)
End Sub

Si este código te fue util no olvides darle una calificación en PanoramaBox :)

 


ir al índice