Demonstra Passo a passo: Trabalhando com o controle MaskedTextBox

Tarefas ilustradas nesta explicação passo a passo incluem:

  • Inicializando o MaskedTextBox controle

  • Usando o MaskInputRejected manipulador de eventos para alertar o usuário quando um caractere não está de acordo com a máscara

  • Atribuindo um tipo para o ValidatingType propriedade e usando o TypeValidationCompleted evento manipulador para alertar o usuário quando o valor que estão tentando confirmar inválido para o tipo

Para uma completa versao do MaskedTextBox controle que demonstra sistema autônomo recursos avançados, sistema autônomo validação usando tipos de dados personalizados, consulte Exemplo de Controlarar MaskedTextBox.

Criando o projeto e adicionando um controle

Para adicionar um controle MaskedTextBox ao formulário

  1. Abra o formulário no qual você deseja colocar o MaskedTextBox controle.

  2. arrastar um MaskedTextBox controlar a partir do Caixa de ferramentas ao seu formulário.

  3. clicar com o botão direito do mouse no controle e escolher Propriedades.No Propriedades janela, selecionar o Máscara propriedade e clicar no ... () botão elipse ao lado do nome da propriedade.

  4. No Máscara de entrada diálogo, selecionar o Data abreviada máscara e clicar OK.

  5. No Propriedades janela conjunto o BeepOnError propriedade para true. Essa propriedade causará um bipe curto de cada vez que o usuário tentar um caractere que violam a definição da máscara de entrada de som.

alerta o usuário para erros de entrada

Adicionar uma dica de balão para entrada de máscara rejeitado

  1. Retornar para o Caixa de ferramentas and add a ToolTip ao seu formulário.

  2. Criar um manipulador de eventos para o MaskInputRejected evento que dispara a ToolTip Quando ocorre um erro de entrada. A dica de balão permanece visível por cinco segundos ou até que o usuário clica nele.

    public void Form1_Load(Object sender, EventArgs e) 
    {
        ... // Other initialization code
        maskedTextBox1.Mask = "00/00/0000";
        maskedTextBox1.MaskInputRejected += new MaskInputRejectedEventHandler(maskedTextBox1_MaskInputRejected)
    }
    
    void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
    {
        toolTip1.ToolTipTitle = "Invalid Input";
        toolTip1.Show("We're sorry, but only digits (0-9) are allowed in dates.", maskedTextBox1, maskedTextBox1.Location, 5000);
    }
    
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.ToolTip1.IsBalloon = True
        Me.MaskedTextBox1.Mask = "00/00/0000"
    End Sub
    
    Private Sub MaskedTextBox1_MaskInputRejected(sender as Object, e as MaskInputRejectedEventArgs) Handles MaskedTextBox1.MaskInputRejected
        ToolTip1.ToolTipTitle = "Invalid Input"
        ToolTip1.Show("We're sorry, but only digits (0-9) are allowed in dates.", MaskedTextBox1, 5000)
    End Sub
    

Alertar o usuário para um tipo inválido

Adicionar uma dica de balão para tipos de dados inválido

  1. No Load manipulador de eventos, atribua um Type objeto que representa o DateTime Digite para o MaskedTextBox do controle ValidatingType propriedade:

    private void Form1_Load(Object sender, EventArgs e)
    {
        // Other code
        maskedTextBox1.ValidatingType = typeof(System.DateTime);
        maskedTextBox1.TypeValidationCompleted += new TypeValidationEventHandler(maskedTextBox1_TypeValidationCompleted);
    }
    
    Private Sub Form1_Load(sender as Object, e as EventArgs)
        // Other code
        MaskedTextBox1.ValidatingType = GetType(System.DateTime)
    End Sub
    
  2. Adicione um manipulador de eventos para o evento TypeValidationCompleted:

    public void maskedTextBox1_TypeValidationCompleted(object sender, TypeValidationEventArgs e)
    {
        if (!e.IsValidInput)
        {
           toolTip1.ToolTipTitle = "Invalid Date Value";
           toolTip1.Show("We're sorry, but the value you entered is not a valid date. Please change the value.", maskedTextBox1, 5000);
           e.Cancel = true;
        }
    }
    
    Public Sub MaskedTextBox1_TypeValidationCompleted(sender as Object, e as TypeValidationEventArgs)
        If Not e.IsValidInput Then
           ToolTip1.ToolTipTitle = "Invalid Date Value"
           ToolTip1.Show("We're sorry, but the value you entered is not a valid date. Please change the value.", maskedTextBox1, 5000)
           e.Cancel = True
        End If
    End Sub
    

Consulte também

Referência

MaskedTextBox

Outros recursos

Controle MaskedTextBox (Windows Forms)