Um controle MaskedTextBox é um TextBox com características que permitem a criação de máscaras de entrada de dados com o propósito de validar as informações fornecidas pelos usuários. Veja a posição desta classe na hierarquia de classes da plataforma .NET:
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.TextBoxBase
System.Windows.Forms.MaskedTextBox
Em tempo de design, um controle MaskedTextBox pode ser criado simplesmente clicando-se em seu nome na Toolbox, na seção Common Controls. Depois de colocado no formulário nós podemos acessar sua propriedade Mask na janela de propriedades e escolher a máscara de entrada desejada. Ao clicarmos no botão ao lado do valor da propriedade Mask um editor de máscaras (Input Mask) é exibido. Neste editor podemos experimentar várias máscaras e ver o resultado imediado.
Uma máscara para entrada de data no formato 23/04/2010 pode ser definida em tempo de execução da seguinte forma:
private void button1_Click(object sender, EventArgs e){
// vamos definir a máscara para uma data no formato 12/03/2010
maskedTextBox1.Mask = "00/00/0000";
}
Quando você executar este exemplo e clicar no botão, verá que o MaskedTextBox exibirá os sublinhados característicos dos campos de texto com máscaras e aceitará somente valores inteiros. Note que as barras são literais e, portanto, serão preenchidas automaticamente, antes ou à medida que o usuário prossegue com a digitação dos valores desejados.
Quando obtemos o valor inserido em um MaskedTextBox, os caracteres literais (em nosso exemplo, as barras de separação dos itens da data) são lidos também. Veja:
private void button2_Click(object sender, EventArgs e){
// vamos obter o conteúdo do MaskedTextBox
MessageBox.Show("O conteúdo do MaskedTextBox é: " +
maskedTextBox1.Text);
}
Controles MaskedTextBox são úteis quando precisamos efetuar as seguintes tarefas:
a) Entrada obrigatória de determinados caracteres, dígitos ou símbolos;
b) Entrada opcional de determinados caracteres, dígitos ou símbolos;
c) Validar um determinado caractere em uma determinada posição na máscara. Por exemplo, um dígito, uma letra do alfabeto ou um caractere alfanumérico;
d) Exibir e manter literais de máscaras, ou caracteres que devem aparecer diretamente no MaskedTextBox. Por exemplo, os hífens (-) nos números de telefones ou o símbolo de moeda (R$) em valores que representam preços;
e) Processamento especial de caracteres de entrada. Por exemplo, converter caracteres em minúsculos para letras maiúsculas.
by:Splinter