ajuda com a textbox no VB2005

57orm

Power Member
Boas... Gostaria de saber como e que se configura uma textbox para só deixar escrever numeros??? ficarei há espera das vossas respostas...:kfold:
 
Pff ajudem.me... perciso mesmo de saber como e que se consegue configurar uma textbox de modo a que ela so se possa digitar numeros....
pff
 
Código:
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        Dim texto As String = "" 'string que substituirá o texto actual na textbox
        For Each c As Char In TextBox1.Text 'percorre todos os caracteres
            If Asc(c) <= 57 AndAlso Asc(c) >= 48 Then texto &= c 'se este caractere for um número, adiciona-o à string
        Next
        Dim posicao As Integer = TextBox1.SelectionStart - (TextBox1.TextLength - texto.Length) 'nova posição do cursor dentro da textbox
        TextBox1.Text = texto 'substituir o texto antigo pelo novo, já filtrado
        TextBox1.Select(posicao, 0) 'colocar o cursor na devida posição
    End Sub
Basicamente o que isto faz é, por cada vez que o texto da textbox é alterado, ele re-escreve o texto, filtrando os caracteres que não são números. Também funciona quando se tenta colar texto (com vários caracteres).

O controlo NumericUpDown possui esta funcionalidade já de raiz, não sendo necessário adicionar qualquer código.
 
Back
Topo