none
Ignorar/bloquear tecla SHIFT y TAB RRS feed

  • Pregunta

  • Hola amigos,

    1.- Quisiera saber como podria ignorar/bloquear la tecla SHIFT y TAB para que no salte el cursor de una caja de texto a la siguiente y viceversa en mi aplicacion.

    2.- Y como podria hacer para que el TAB tome la funcion de ENTER y el cursor salte de una caja de texto a otra en especial en mi aplicacion.

    Gracias por su ayuda y/o sugerencia.

    miércoles, 5 de mayo de 2010 12:44

Respuestas

  • "Christian" preguntó:

    > 1.- Quisiera saber como podria ignorar/bloquear la tecla SHIFT y TAB para que no
    > salte el cursor de una caja de texto a la siguiente y viceversa en mi aplicacion.

    Sobrescribe en el formulario el método ProcessCmdKey para detectar si el usuario ha pulsado la tecla SHIFT + TAB:

        Protected Overrides Function ProcessCmdKey( _
            ByRef msg As System.Windows.Forms.Message, _
            ByVal keyData As System.Windows.Forms.Keys) As Boolean

            ' Control que tiene actualmente el foco
            '
            Dim ctrl As Control = Me.ActiveControl

            Dim teclas As Keys = keyData

            If (TypeOf ctrl Is TextBox) And (teclas = (Keys.Shift + Keys.Tab)) Then
                Return True
            End If

            ' Llegado a éste punto, se supone que el foco no lo
            ' tiene ningún control TextBox, y que se ha pulsado
            ' otra combinación de teclas distinta a Shift + Tab
            '

            Return MyBase.ProcessCmdKey(msg, keyData)

        End Function

    > 2.- Y como podria hacer para que el TAB tome la funcion de ENTER y el cursor
    > salte de una caja de texto a otra en especial en mi aplicacion.

    Pues la verdad es que no me entero, porque la tecla TAB hace que el foco salte de una caja de texto a otro. ¿No será que lo deseas hacer al revés? ¿Que el Enter actúe como si fuera la tecla Tab?

    Un saludo

     


    Enrique Martínez [MS MVP - VB]
    miércoles, 5 de mayo de 2010 19:13
    Moderador

Todas las respuestas

  • hola

    seria algo como esto

    Saltar de TextBox en TextBox con [Enter]

    lo que buscas

    saludos



    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 5 de mayo de 2010 12:56
  • "Christian" preguntó:

    > 1.- Quisiera saber como podria ignorar/bloquear la tecla SHIFT y TAB para que no
    > salte el cursor de una caja de texto a la siguiente y viceversa en mi aplicacion.

    Sobrescribe en el formulario el método ProcessCmdKey para detectar si el usuario ha pulsado la tecla SHIFT + TAB:

        Protected Overrides Function ProcessCmdKey( _
            ByRef msg As System.Windows.Forms.Message, _
            ByVal keyData As System.Windows.Forms.Keys) As Boolean

            ' Control que tiene actualmente el foco
            '
            Dim ctrl As Control = Me.ActiveControl

            Dim teclas As Keys = keyData

            If (TypeOf ctrl Is TextBox) And (teclas = (Keys.Shift + Keys.Tab)) Then
                Return True
            End If

            ' Llegado a éste punto, se supone que el foco no lo
            ' tiene ningún control TextBox, y que se ha pulsado
            ' otra combinación de teclas distinta a Shift + Tab
            '

            Return MyBase.ProcessCmdKey(msg, keyData)

        End Function

    > 2.- Y como podria hacer para que el TAB tome la funcion de ENTER y el cursor
    > salte de una caja de texto a otra en especial en mi aplicacion.

    Pues la verdad es que no me entero, porque la tecla TAB hace que el foco salte de una caja de texto a otro. ¿No será que lo deseas hacer al revés? ¿Que el Enter actúe como si fuera la tecla Tab?

    Un saludo

     


    Enrique Martínez [MS MVP - VB]
    miércoles, 5 de mayo de 2010 19:13
    Moderador