Ir para o conteúdo
pedromartins

Evento KeyPress

Mensagens Recomendadas

pedromartins

Boas pessoal, estou aqui com um problema que espero me possam ajudar a ultrapassar, tenho um código com que faz que a textbox só aceite numeros, backspace, delete e o enter. o problema e que basta eu introduzir um so numero que passa automaticamente para a txt de baixo sempre pressionar o enter s:

Private Sub txtagua_KeyPress(sender As System.Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtagua.KeyPress
        If Not Char.IsDigit(e.KeyChar) And _
        Not Convert.ToInt32(e.KeyChar) = Keys.Back And _
        Not Convert.ToInt32(e.KeyChar) = Keys.Delete And _
        Not Convert.ToInt32(e.KeyChar) = Keys.Enter Then
            e.Handled = True
        End If
        If Not Char.IsDigit(e.KeyChar) And _
        Not Convert.ToInt32(e.KeyChar) = Keys.Enter Then
            e.Handled = True
            If txtagua.Text = "" Then MessageBox.Show("Tem de introduzir um valor", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
            txtagua.Focus()
            Exit Sub
        Else
            txtluz.Focus()
        End If
        Exit Sub
    End Sub

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock
 If Char.IsDigit(e.KeyChar) Then
            TextBox1.Focus()
            Exit Sub
        ElseIf Keys.Enter Then
            TextBox2.Focus()
        End If

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
programadorvb6

Eu sugiro este código :

 Private Sub txtagua_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles txtagua.KeyPress
        If Not Char.IsDigit(e.KeyChar) And _
            Not Convert.ToInt32(e.KeyChar) = Keys.Back And _
            Not Convert.ToInt32(e.KeyChar) = Keys.Delete And _
            Not Convert.ToInt32(e.KeyChar) = Keys.Decimal And _
            Not Convert.ToInt32(e.KeyChar) = Keys.Enter Then
            e.Handled = True
        End If
        If Convert.ToInt32(e.KeyChar) = Keys.Enter AndAlso Convert.ToInt32(e.KeyChar) = Keys.Enter Then
            e.Handled = True
            If Me.txtagua.Text = Nothing Then
                MessageBox.Show("Tem de introduzir um valor", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
                Me.txtagua.Focus()
                Exit Sub
            Else
                Me.txtluz.Focus()
            End If
        End If
    End Sub

Até+

Programadorvb6

EDIT: GeSHi adicionado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.