Usuário com melhor resposta
Sobre Validação

Pergunta
-
Sou iniciante no VB.NET e estou usando um MaskTextBox para validar um CPF e eu gostaria que o campo só aceitasse números, se o usuário digitar letras elas não aparecessem, é possivel? Como?
PS.: Alguém tem um banco de dados com as cidades brasileiras com seus códigos do IBGE. Obrigado.
Respostas
-
cvinnicios,
A máscara só teria efeito como eu mencionei antes se ela fosse atribuída antes da digitação. Depois que ele digitou a máscara sozinha não vai bloquear nada.
Para bloquear durante a digitação, da forma como você está fazendo, coloque no evento Keypress do seu MaskedTextBox:
e.Handled =
True End If
Francisco
OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx
Todas as Respostas
-
cvinnicios,
É só definir a mascará somente com números:
999,999,999-99
Francisco
OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx -
-
cvinnicios,
Mas então, no MaskedTextBox, se você colocar a máscara que eu indiquei para você, mesmo que o usuário digite letras no controle, elas não serão exibidas. Ele só vai aceitar números.
Francisco
OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx -
Eu fiz assim
Private
Sub mskCNPJ_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles mskCNPJ.LostFocus If mskCNPJ.Text.Length = 11 ThenmskCNPJ.Mask =
"999.999.999-99"radbtnPessoaFisica.Checked =
True ElseIf mskCNPJ.Text.Length = 14 ThenmskCNPJ.Mask =
"99.999.999/9999-99"radbtnPessoaJur.Checked =
True ElseMsgBox(
"Formato Errado!", MsgBoxStyle.Exclamation, "Mensagem de Erro")mskCNPJ.Text =
""mskCNPJ.Focus()
End If End SubAssim ele consegue diferenciar o CPF do CNPJ, se eu configurar a mascara normalmente, eu só vou ter um formato de mascara (eu acho), e assim eu consigo conferir pela quantidade de caracteres se é CPF e CNPJ, mas se for digitado letras nas quantidades 11 ou 14, ele passa mas depois complica, dá erro (fica chamda o MsgBox), por isso eu quero bloquear as teclas de outra forma. Blz?
-
cvinnicios,
A máscara só teria efeito como eu mencionei antes se ela fosse atribuída antes da digitação. Depois que ele digitou a máscara sozinha não vai bloquear nada.
Para bloquear durante a digitação, da forma como você está fazendo, coloque no evento Keypress do seu MaskedTextBox:
e.Handled =
True End If
Francisco
OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx