Olá programadores C#,
Esta é uma forma bastante utilizada para validar entrada de texto de usuários. Para fazermos com que o TextBox não aceite outros valores além de números basta acrescentarmos um trecho de validação de teclas no evento KeyPress. Para isso basta selecionar o TextBox desejado e, na tela de propriedades dele, clique na aba de eventos (conforme imagem abaixo) e de um duplo clique no evento KeyPress.
O VisualStudio criará o método para tratar o evento. Dentro deste método você deve acrescentar o seguinte código em destaque:
{
//Se a tecla digitada não for número
if (!char.IsDigit(e.KeyChar))
{
//Atribui True no Handled para cancelar o evento
e.Handled = true;
}
}
Porém fazendo isto não é possível usar algumas teclas, já que tudo que não é dígito não passa no validador e é bloqueado.
Provavelmente você precisará liberar a tecla BackSpace, por exemplo. Para isso precisamos saber qual seu valor decimal na tabela ASCII de caracteres, que com uma rápida consulta descobrimos que é o número 08.
Agora basta adicionar uma nova validação no if, que verifica se o valor decimal que representa a tecla digitada é ou não 08, ficando assim:
{
//Se a tecla digitada não for número e nem backspace
if (!char.IsDigit(e.KeyChar) && e.KeyChar != 08)
{
//Atribui True no Handled para cancelar o evento
e.Handled = true;
}
}
Pronto! Com este exemplo agora é possível liberar a entrada de dados nos TextBoxes apenas de números e qualquer outra tecla que necessitar.
Fico por aqui.
Até o próximo post.
Parabéns João Paulo pelo ótimo tutorial.
ResponderExcluirAtenciosamente,
Carlos Henrique - Regeneração - Piauí
Oi Carlos, que bom que lhe ajudou.
ExcluirAbraço!
Ola João Paulo parabéns pelo ótimo post e pela vontade de ajudar, fica aqui meus agradecimentos, me ajudou muito. abraços.
ResponderExcluirMuito Obrigado João Paulo! Solução rápida e eficaz para o meu problema.
ResponderExcluirOlá Weslen, que bom que pude ajudar.
ExcluirObrigado pelo comentário.
Abraço!
Isso nao impede o usuário de fazer um CTRL+V no campo
ResponderExcluirGostei muito do seu tutorial, foi rápido e prático e o código fácil de entender.
ResponderExcluirmuito bom era o que eu estava precisando
ResponderExcluirFantástico, muito bem explicado
ResponderExcluirSolução rapida e facil, muito obrigado ^^
ResponderExcluirNUNCA DEIXE DE NOS AJUDAR. GOSTEI MESMO
ResponderExcluirVocê é o cara!
ResponderExcluirSó umas permissões a mais, show me auxiliou bastante!
ResponderExcluirif (!char.IsNumber(e.KeyChar) && !char.IsPunctuation(e.KeyChar)
&& e.KeyChar != (char)Keys.Enter && e.KeyChar != (char)Keys.Back && e.KeyChar != (char)Keys.Delete)
{
//Atribui True no Handled para cancelar o evento
e.Handled = true;
}
Obrigada! ;)
ResponderExcluirtutorial top!
ResponderExcluirParabéns. Tutorial Excelente
ResponderExcluir