none
Visual Basic RRS feed

  • Pergunta

  • Queria  uma ajuda:Como faço na criação de vários textbox, qual o código  para pular o percurssor do  textbox para outro no visual basic,sem usar o tab ou o enter usando as teclas para cima ou para baixo.

    Obrigado.

    terça-feira, 12 de dezembro de 2017 02:58

Respostas

  • Bom dia amigo.

    Dê uma olhada no artigo abaixo.

    Ele usa a função SendKey para o direcional.

    https://stackoverflow.com/questions/1354839/how-do-i-sendkeys-down-arrow

    abs

    terça-feira, 12 de dezembro de 2017 13:07
  • Boa noite, Helmot.

    Veja se te ajuda.

    No exemplo tem 9 textboxes que trocam o foco pelas setas.

    Utiliza o evento keydown dos textboxes.

    Se te atender, por gentileza, marcar como resposta/útil.

     Private Sub Muda_TextBox_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown, TextBox2.KeyDown, TextBox3.KeyDown, TextBox4.KeyDown, TextBox5.KeyDown, TextBox6.KeyDown, TextBox7.KeyDown, TextBox8.KeyDown, TextBox9.KeyDown
            '37 - seta para esquerda
            '38 - seta para cima
            '39 - seta para direita
            '40 - seta para baixo
    
            Select Case CType(sender, TextBox).Name
    
                Case "TextBox1"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox3.Focus()
                        Case 38
                            TextBox7.Focus()
                        Case 39
                            TextBox2.Focus()
                        Case Else '40
                            TextBox4.Focus()
    
                    End Select
    
                Case "TextBox2"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox1.Focus()
                        Case 38
                            TextBox8.Focus()
                        Case 39
                            TextBox3.Focus()
                        Case Else '40
                            TextBox5.Focus()
                    End Select
    
                Case "TextBox3"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox2.Focus()
                        Case 38
                            TextBox9.Focus()
                        Case 39
                            TextBox1.Focus()
                        Case Else '40
                            TextBox6.Focus()
                    End Select
    
                Case "TextBox4"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox6.Focus()
                        Case 38
                            TextBox1.Focus()
                        Case 39
                            TextBox5.Focus()
                        Case Else '40
                            TextBox7.Focus()
                    End Select
    
                Case "TextBox5"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox4.Focus()
                        Case 38
                            TextBox2.Focus()
                        Case 39
                            TextBox6.Focus()
                        Case Else '40
                            TextBox8.Focus()
                    End Select
    
                Case "TextBox6"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox5.Focus()
                        Case 38
                            TextBox3.Focus()
                        Case 39
                            TextBox4.Focus()
                        Case Else '40
                            TextBox9.Focus()
                    End Select
    
                Case "TextBox7"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox9.Focus()
                        Case 38
                            TextBox4.Focus()
                        Case 39
                            TextBox8.Focus()
                        Case Else '40
                            TextBox1.Focus()
                    End Select
    
                Case "TextBox8"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox7.Focus()
                        Case 38
                            TextBox5.Focus()
                        Case 39
                            TextBox9.Focus()
                        Case Else '40
                            TextBox2.Focus()
                    End Select
    
                Case Else 'TextBox9
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox8.Focus()
                        Case 38
                            TextBox6.Focus()
                        Case 39
                            TextBox7.Focus()
                        Case Else '40
                            TextBox3.Focus()
                    End Select
    
            End Select
        End Sub



    MARIANO1776

    quarta-feira, 13 de dezembro de 2017 23:32

Todas as Respostas

  • Bom dia amigo.

    Dê uma olhada no artigo abaixo.

    Ele usa a função SendKey para o direcional.

    https://stackoverflow.com/questions/1354839/how-do-i-sendkeys-down-arrow

    abs

    terça-feira, 12 de dezembro de 2017 13:07
  • pode usar as funcionalidades do evento keypress do formulário para identificar a tecla
    terça-feira, 12 de dezembro de 2017 14:44
  • Boa noite, Helmot.

    Veja se te ajuda.

    No exemplo tem 9 textboxes que trocam o foco pelas setas.

    Utiliza o evento keydown dos textboxes.

    Se te atender, por gentileza, marcar como resposta/útil.

     Private Sub Muda_TextBox_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown, TextBox2.KeyDown, TextBox3.KeyDown, TextBox4.KeyDown, TextBox5.KeyDown, TextBox6.KeyDown, TextBox7.KeyDown, TextBox8.KeyDown, TextBox9.KeyDown
            '37 - seta para esquerda
            '38 - seta para cima
            '39 - seta para direita
            '40 - seta para baixo
    
            Select Case CType(sender, TextBox).Name
    
                Case "TextBox1"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox3.Focus()
                        Case 38
                            TextBox7.Focus()
                        Case 39
                            TextBox2.Focus()
                        Case Else '40
                            TextBox4.Focus()
    
                    End Select
    
                Case "TextBox2"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox1.Focus()
                        Case 38
                            TextBox8.Focus()
                        Case 39
                            TextBox3.Focus()
                        Case Else '40
                            TextBox5.Focus()
                    End Select
    
                Case "TextBox3"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox2.Focus()
                        Case 38
                            TextBox9.Focus()
                        Case 39
                            TextBox1.Focus()
                        Case Else '40
                            TextBox6.Focus()
                    End Select
    
                Case "TextBox4"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox6.Focus()
                        Case 38
                            TextBox1.Focus()
                        Case 39
                            TextBox5.Focus()
                        Case Else '40
                            TextBox7.Focus()
                    End Select
    
                Case "TextBox5"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox4.Focus()
                        Case 38
                            TextBox2.Focus()
                        Case 39
                            TextBox6.Focus()
                        Case Else '40
                            TextBox8.Focus()
                    End Select
    
                Case "TextBox6"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox5.Focus()
                        Case 38
                            TextBox3.Focus()
                        Case 39
                            TextBox4.Focus()
                        Case Else '40
                            TextBox9.Focus()
                    End Select
    
                Case "TextBox7"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox9.Focus()
                        Case 38
                            TextBox4.Focus()
                        Case 39
                            TextBox8.Focus()
                        Case Else '40
                            TextBox1.Focus()
                    End Select
    
                Case "TextBox8"
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox7.Focus()
                        Case 38
                            TextBox5.Focus()
                        Case 39
                            TextBox9.Focus()
                        Case Else '40
                            TextBox2.Focus()
                    End Select
    
                Case Else 'TextBox9
                    Select Case CInt(e.KeyCode)
                        Case 37
                            TextBox8.Focus()
                        Case 38
                            TextBox6.Focus()
                        Case 39
                            TextBox7.Focus()
                        Case Else '40
                            TextBox3.Focus()
                    End Select
    
            End Select
        End Sub



    MARIANO1776

    quarta-feira, 13 de dezembro de 2017 23:32
  • Boa tarde,

    Por falta de retorno essa thread está encerrada.

    Se necessário, favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 18 de dezembro de 2017 15:59
    Moderador