none
Saltar entre los textbox RRS feed

Respuestas

  • Hola JayGussinny,

    Mediante la tecla 'TAB' puedes saltar de control en control, lo que podrías hacer es detectar la tecla 'Enter' y simular la pulsación de la tecla Tab.

    - Primero activa la propiedad KeyPreview del formulario.

    Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
        If e.KeyCode = Keys.Enter Then
            SendKeys.Send("{TAB}")
        End If
    End Sub

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    sábado, 28 de enero de 2017 16:34
  • JayGussinny,

    Lo primero que debes tener configurado es el orden de índice de tabulación para cada control en el formulario (propiedad TabIndex), luego debes capturar cualquier pulsación de tecla y reconocer la tecla [ENTER] para activar el siguiente control en el orden de tabulación que definiste previamente, es muy simple:

    Método Control.SelectNextControl

    Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
    	If e.KeyCode = Keys.Enter AndAlso ActiveControl IsNot Nothing Then
    		SelectNextControl(ActiveControl, True, True, True, True)
    		e.Handled = True
    	End If
    End Sub

    Punto adicional: para evitar escribir el mismo código por cada evento KeyDown de cada control puedes vincular todos los eventos KeyDown a un sólo controlador de eventos.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 28 de enero de 2017 17:25

Todas las respuestas

  • Hola JayGussinny,

    Mediante la tecla 'TAB' puedes saltar de control en control, lo que podrías hacer es detectar la tecla 'Enter' y simular la pulsación de la tecla Tab.

    - Primero activa la propiedad KeyPreview del formulario.

    Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
        If e.KeyCode = Keys.Enter Then
            SendKeys.Send("{TAB}")
        End If
    End Sub

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    sábado, 28 de enero de 2017 16:34
  • JayGussinny,

    Lo primero que debes tener configurado es el orden de índice de tabulación para cada control en el formulario (propiedad TabIndex), luego debes capturar cualquier pulsación de tecla y reconocer la tecla [ENTER] para activar el siguiente control en el orden de tabulación que definiste previamente, es muy simple:

    Método Control.SelectNextControl

    Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown
    	If e.KeyCode = Keys.Enter AndAlso ActiveControl IsNot Nothing Then
    		SelectNextControl(ActiveControl, True, True, True, True)
    		e.Handled = True
    	End If
    End Sub

    Punto adicional: para evitar escribir el mismo código por cada evento KeyDown de cada control puedes vincular todos los eventos KeyDown a un sólo controlador de eventos.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 28 de enero de 2017 17:25
  • Validando o sin validar el dato que estas introduciendo en el TextBox que estas dejando?

    Sin validar: es una buena opción la que te describe Joel C. Naupa, siempre y cuando los TabIndex de tus TextBox tengan el orden en que quieras ir avanzando

    Validando: debes usar el evento Validating del TextBox, y todavía mas allá, si quieres mostrar algún mensaje de error cuando el dato introducido no sea valido y que no se avance hasta que haya un dato valido entonces debes usar el "ErrorProvider", mostrar el error o la ayuda y regresar el foco al TextBox que no tiene el dato correcto.

    Saludos

    sábado, 28 de enero de 2017 19:37
  • super gracias.


    • Editado JayGussinny sábado, 28 de enero de 2017 21:54
    sábado, 28 de enero de 2017 21:01
  • ahora bien, como dices TU Willams Morales, que para evitar escribir el mismo código por cada evento KeyDown de cada control puedo vincular todos los eventos KeyDown a un sólo controlador de eventos.

    1. COMO HAGO ESO?


    sábado, 28 de enero de 2017 21:54
  • amigo Joel, estoy buscando la opción KeyPreview en las propiedades del textbox, pero no la encuentro. dame una pista :)

    y perdón, es que estoy iniciando desde cero en esto

    sábado, 28 de enero de 2017 21:56
  • amigo Joel, estoy buscando la opción KeyPreview en las propiedades del textbox, pero no la encuentro. dame una pista :)

    y perdón, es que estoy iniciando desde cero en esto

    Hola JayGussinny,

    La propiedad KeyPreview del Form (del formulario).

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    sábado, 28 de enero de 2017 22:48