Este tópico falará sobre o componente MaskedTextBox. O próprio nome é bastante sugestivo para a sua função, pois ele nada mais é do que um TextBox “mascarado”. Ele define um padrão de entrada para dados. É como se fosse um molde inserido sobre um TextBox e que permite somente a inserção de dados padronizados. É muito simples de entender e usá-lo.

Vamos abrir a aplicação e em seguida o formulário de Cadastro de Clientes, que atualmente está da seguinte forma:

MaskedTextBox C#

Agora vamos deletar o TextBox de inserção da Data de Nascimento, deixando-o assim:

MaskedTextBox C#

Em seguida vamos arrastar um componente MaskedTextBox para o local onde estava o TextBox anterior e nomeá-lo para "mskDataNascimento", da seguinte forma:

MaskedTextBox C#

O aspecto visual do MaskedTextBox é muito parecido com o de um TextBox comum, no entanto podemos observar a pequena seta na parte superior, que indica a existência de um menu de opções vinculado a este componente. Clicando nela, teremos:

MaskedTextBox C#

E ao clicar na opção “Set Mask...”, teremos:

MaskedTextBox C#

Nesta tela definiremos a entrada da Máscara, ou seja, qual molde será colocado sobre o TextBox para limitar a inserção de dados. Como é possível observar na imagem acima, existem vários padrões, como para números inteiros, telefones, datas simples, datas com hora, apenas hora, CEP, além de ser possível personalizar uma máscara. Para o nosso caso selecionaremos Short date.

Ao clicar nela o Visual C# já preenche os campos Mask e Preview, na parte inferior da tela, dando-nos uma demonstração de como o campo será exibido ao usuário. Após clicarmos em OK veremos que o campo já se diferencia de um TextBox convencional, pois a máscara aparece inserida, conforme ilustra a imagem abaixo:

MaskedTextBox C#

A parte visual está pronta, no entanto devemos alterar o código e trocar todos os comandos que faziam referência ao TextBox para adaptá-los ao MaskedTextBox. O primeiro trecho em que isso deve ser feito é no método construtor sobrecarregado, que possui o trecho de código:

MaskedTextBox C#

Vejam que na imagem acima o TextBox que excluímos já aparece grifado, pois ele não é mais encontrado pela aplicação.

A alteração que devemos fazer neste trecho é:

MaskedTextBox C#

O segundo trecho que deve ser alterado é dentro do código referente do evento Click do botão "Salvar". O método formataData passava como parâmetro o conteúdo do TextBox, mas agora deve passar o conteúdo do MaskedTextBox, devendo ser alterado como ilustra a imagem abaixo:

MaskedTextBox C#

O mesmo deve ser feito para o código do evento Click do botão "Atualizar".

MaskedTextBox C#

Agora é possível executar a aplicação. Notem que, ao manipular os dados no componente MaskedTextBox, é impossível inserir mais caracteres do que os correspondentes às datas, é impossível inserir letras e já existem as barras separando os dias, meses e anos, o que torna mais fácil a visualização para o usuário.

Validando o campo MaskedTextBox

Validar um campo do tipo MaskedTextBox é muito fácil. Para isso vamos fazer uso do evento TypeValidationCompleted, como ilustra a imagem abaixo:

MaskedTextBox C#

Clicando duas vezes sobre ele criaremos o método de mesmo nome. Dentro dele colocaremos o seguinte código:

MaskedTextBox C#

Comentando, teremos:

MaskedTextBox C#

Agora, se tentarmos efetuar a inserção de uma data inválida, receberemos a mensagem de erro contida no bloco else.

MaskedTextBox C#

Nossa validação está quase pronta. Eu digo "quase" porque se o usuário não digitar nada no MaskedTextBox ainda teremos um erro gerado, pois a validação pelo método TypeValidationCompleted só acontece quando um caractere é digitado. Existem várias maneiras de resolver isso, mas a que vou sugerir aqui envolve um conceito visto bem no começo do minicurso, portanto servirá como revisão. Estou me referindo à propriedade Enabled do botão "Salvar". Vamos defini-la por padrão como "False".

MaskedTextBox C#

Agora vamos selecionar o MaskedTextBox e, na barra de eventos, localizar a opção KeyDown.

MaskedTextBox C#

Dando dois cliques nela criaremos a função, que deverá ser preenchida com o seguinte código:

MaskedTextBox C#

O método KeyDown é acionado sempre que qualquer tecla do teclado for pressionada. Como o vinculamos ao MaskedTextBox, ela só será acionada quando o usuário inserir qualquer caractere neste campo, habilitando, dessa forma, o botão "Salvar" que fará a validação dos dados. Agora fica impossível tentarmos salvar dados sem antes preenchermos o campo de data de nascimento, pois o botão permanecerá desabilitado, conforme ilustra a imagem abaixo:

MaskedTextBox C#

Com isso encerramos a validação do MaskedTextBox. Na sequência veremos como percorrer todos os TextBoxes de um formulário para validá-los todos ao mesmo tempo.


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.


As primeiras máquinas de fliperama do mundo a utilizarem moedas, chamadas de Galaxy Game, custavam mais de 20 mil dólares para serem produzidas. Saiba mais sobre elas aqui.


O título Tetris detém o recorde de jogo mais adaptado de todos os tempos. No total foram mais de 60 plataformas diferentes que receberam alguma versão do quebra-cabeças criado por Alexey Pajitnov. Conheça mais sobre este incrível jogo clicando aqui.


A partida mais longa do clássico Space Invaders durou incríveis 38 horas e 32 minutos e esta façanha foi conseguida por um jogador de apenas 12 anos! O jogo, claro, podia ser pausado para alimentação e descanso, mas ainda assim o recorde, estabelecido no dia 02/09/1980, ainda não foi quebrado. Saiba mais.


A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.


O famoso título Final Fantasy, da Square Enix, tem este nome exatamente porque se tratava da última esperança da empresa, que estava à beira da falência quando o lançou. Clique aqui e conheça detalhes dessa história.


O título Space Invaders, lançado em 1980, fez tanto sucesso em todo o mundo que as pessoas compravam o console Atari apenas para poderem jogá-lo em casa. Saiba mais sobre este incrível título clicando aqui.


O Playstation só nasceu porque uma parceria entre Sony e Nintendo, para desenvolver uma unidade de CD para o Super Nintendo, fracassou. Clique aqui e saiba mais.


Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.


Considerando todas as adaptações de jogos de videogame para o cinema, a mais bem sucedida foi Lara Croft: Tomb Raider, lançado em 2001 e que faturou 274 milhões de dólares. Ele foi dirigido por Simon West e estrelado pela bela Angelina Jolie.


O primeiro jogo a fazer uso de uma Inteligência Artificial foi o Mouse in the Maze, criado em 1955, na União Soviética. Você pode saber mais sobre ele clicando aqui.


Digitar senhas em computadores de uso coletivo é extremamente perigoso, pois além de softwares de monitoramento, existem dispositivos de hardware que podem capturar suas senhas. Evite ao máximo acessar sites de bancos a partir destes computadores. Veja mais aqui.


O mouse foi criado em 9 de dezembro de 1968, por um americano chamado Douglas Engelbart, que o batizou de "XY Position Indicator for a Display System". Conheça a história do mouse clicando aqui.


Apenas no ano de 1982, o clássico Pac Man vendeu mais de 400 mil máquinas de fliperama em todo o mundo e recebeu cerca de 7 bilhões de moedas nestas máquinas. Saiba mais.