none
TextBox só aceitar números RRS feed

  • Pergunta

  • Olá Amigos do MSDN, estou usando o evento TextChanged em 5 TextBox porque quero que ao inserir um número no TextBox1 o cursor pule automaticamente para o TextBox2, e assim ocorre para os outros 4 TextBox. Não sei como fazer para que estes TextBox aceitem apenas números. 

    Grato/Durval

     
    quarta-feira, 10 de novembro de 2021 00:55

Todas as Respostas

  • Private Sub TextBox_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged, TextBox4.TextChanged, TextBox5.TextChanged
            If CType(sender, TextBox).Name = "TextBox1" And TextBox1.Text <> "" Then
                TextBox2.Focus()
                TextBox2.Text = ""
            ElseIf CType(sender, TextBox).Name = "TextBox2" And TextBox2.Text <> "" Then
                TextBox3.Text = ""
                TextBox3.Focus()
            ElseIf CType(sender, TextBox).Name = "TextBox3" And TextBox3.Text <> "" Then
                TextBox4.Text = ""
                TextBox4.Focus()
            ElseIf CType(sender, TextBox).Name = "TextBox4" And TextBox4.Text <> "" Then
                TextBox5.Text = ""
                TextBox5.Focus()
            ElseIf CType(sender, TextBox).Name = "TextBox5" And TextBox5.Text <> "" Then
                TextBox1.Text = ""
                TextBox1.Focus()
            End If
    
        End Sub
    
        Private Sub TextBox_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress, TextBox2.KeyPress, TextBox3.KeyPress, TextBox4.KeyPress, TextBox5.KeyPress
            If Not IsNumeric(e.KeyChar) Then ' não aceita letras
                e.KeyChar = Chr(0)
                e.Handled = True
            End If
        End Sub
    Se te ajudou, por gentileza marque como resposta e útil.

    MARIANO1776

    quarta-feira, 10 de novembro de 2021 01:59
  • Valeu Mariano, obrigado. Logo após ter mandado a pergunta, deduzi que a saída era exatamente assim como você me informou nessa resposta. Tem que usar o evento KeyPress sempre né? Aos poucos estou aprendendo. Fiz assim:

     'rotina que faz o cursor pular para o próximo TextBox ao entrar com uma unidade da senha e monta a senha
        Private Sub TBoxSenha_TextChanged(sender As Object, e As EventArgs) Handles TBox1Senha.TextChanged, TBox2Senha.TextChanged, TBox3Senha.TextChanged, TBox4Senha.TextChanged, TBox5Senha.TextChanged

            If TBox1Senha.Text = "" Then
                TBox1Senha.Focus()
                Exit Sub
            End If

            If TBox2Senha.Text = "" Then
                TBox2Senha.Focus()
                Exit Sub
            End If

            If TBox3Senha.Text = "" Then
                TBox3Senha.Focus()
                Exit Sub
            End If

            If TBox4Senha.Text = "" Then
                TBox4Senha.Focus()
                Exit Sub
            End If

            If TBox5Senha.Text = "" Then
                TBox5Senha.Focus()
                Exit Sub
            End If

            senha = TBox1Senha.Text & TBox2Senha.Text & TBox3Senha.Text & TBox4Senha.Text & TBox5Senha.Text

        End Sub

        'rotina que faz os TextBox que montam a senha, aceitar apenas números.
        Private Sub TBoxRecebeNumeroSenha_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TBox1Senha.KeyPress, TBox2Senha.KeyPress, TBox3Senha.KeyPress, TBox4Senha.KeyPress, TBox5Senha.KeyPress

            If Not (Char.IsDigit(e.KeyChar) OrElse Char.IsControl(e.KeyChar)) Then

                e.Handled = True

            End If

        End Sub

     
    quarta-feira, 10 de novembro de 2021 16:16
  • Durval,

       Para um TextBox só aceitar números use dentro do KeyPress do TextBox o comando... Exemplo:

    Public Class frmNumeros
    
        Private Sub txtNumero_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNumero.KeyPress
            If Not Char.IsNumber(e.KeyChar) And Not Convert.ToInt32(e.KeyChar) = Keys.Back Then e.Handled = True
        End Sub
    
    End Class


    []'s,
    Fabio I.

    • Editado Fabio I quarta-feira, 10 de novembro de 2021 16:45
    quarta-feira, 10 de novembro de 2021 16:44
  • Valeu, obrigado Fabio...

    quarta-feira, 10 de novembro de 2021 20:17