sábado, 12 de abril de 2008

Máscaras Dinâmicas para textBox com qualquer tipo numérico ( CEP , CPF, CNPJ, MOEDA , DATA), desenvolvido em C#.net (C Sharp)

12495-assbartjava2a 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:

png5

Um bom desenvolvimento a todos...

0 comentários:

Postar um comentário

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Powered by Blogger