Visando facilitar a vida de quem trabalha com desenvolvimento criei este artigo descrevendo passo-a-passo e elucidando através de código fonte uma maneira dinâmica e eficaz de aplicar máscaras a conteúdos numéricos de qualquer tipo em um texBox, utilizando C# (C Sharp).
Máscara, neste caso em questão, é um recurso de interface utilizado para assemelhar determinada informação(neste exemplo, numérica), visível no sistema, a maneira como estamos acostumados a manipulá-la na vida real.
Por exemplo, ao ver o número "00000000" inicialmente não podemos atribuir nenhuma informação característica adicional a ele, fora o fato de se constituir de uma cadeia numérica. Aplicando uma máscara, através da interface visual do sistema teremos "00000-000", o que pode nos levar a deduzir que este número se trata de um CEP. Este recurso é muito importante na prevenção de erros por parte do usuário assegurando ao mesmo a não necessidade de digitação de determinados dígitos que possam gerar equívocos durante a inserção dos dados no sistema.
Visando dinamizar este processo de "mascarar" um dado numérico em tempo real criei uma função principal que é capaz de adicionar uma mascara de qualquer tipo (CEP, CPF, CNPJ), o que pode facilitar a vida de alguns desenvolvedores, que como eu, inicialmente encontraram poucas referências a respeito.
Mas por que não usar um MaskedTextBox? Eu considero o MakedTextBox um tipo de textBox meio "engessado", com algumas limitações, e para o meu caso em questão achei mais eficiente a criação deste código fonte para manipulação do textBox.
Seguem abaixo algumas características do resultado expresso pelo código que será descrito:
- a inserção dos números ocorre da direita para a esquerda. Sendo assim num campo do tipo moeda (0,00) a inserção de seguidos "2" transcorreria da seguinte maneira:
0,02 -> 0,22 -> 2,22 -> 22,22
- a tecla BackSpace também se sucede da direita para a esquerda (sem perda visual da mascara) da seguinte maneira:
2,22 -> 0,22 -> 0,02
Acompanhem agora o detalhamento do código em questão:
Como exemplo, aplicarei máscara a dois tipos de dados: O CEF ("12345-678"), e o CNPJ("12345678/1234-12"). Note que no caso do CNPJ apresentam-se dois caracteres especiais. Farei isso para mostrar que o código abaixo pode aplicar a mascara com quantos caracteres forem necessários, bastando para isso definir a quantidade na chamada da função.
Para saber mais a respeito basta baixar o arquivo abaixo, em formato .doc, onde descrevo detalhamente o desenvolvimento deste código:
Um bom desenvolvimento a todos...
5 comentários:
Olá amigo.
Estou atrás de pessoas interessadas em fazer uma "Postagem parceira".
Eu tenho uma série de posts sobre "Termos de informática", onde semanalmente eu posto sobre algum termo de informática voltado para pessoas mais leigas, tendo objetivo de passar informações claras e objetivas, numa linguagem simples para facilitar o entendimento.
Se você tiver interesse em fazer um post, favor me procurar para acertarmos os detalhes.
Links das postagens já publicadas:
http://moorpheuss.blogspot.com/2008/03/termos-de-informtica-1-vrus.html
http://moorpheuss.blogspot.com/2008/03/termos-de-informtica-2-redes-wireless.html
http://moorpheuss.blogspot.com/2008/04/termos-de-informtica-3-bios.html
Abraços.
--
Marcelo Souza
http://moorpheuss.blogspot.com/
tem um selinhu p vc no meu blog...bjs!!!
www.linhadecodigo.com.br/Artigo.aspx?id=1786
xupinhado
O que Rafael falou é verdade, este artigo já existe no linha defensiva.
http://www.linhadecodigo.com.br/artigo/1786/csharp-mascaras-dinamicas-para-textbox-com-qualquer-tipo-numerico-cep-cpf-cnpj-moeda-data.aspx
É vero xupinhado....
Cara que merda este crockotec, não se consegue fazer o donsloan nem fudendo !!!! coloca em um lugar que preste os arquivos.
Abços
Alessandro
Postar um comentário