Instruções passo a passo: trabalhando com o controle MaskedTextBox

As tarefas ilustradas neste passo a passo incluem:

  • Inicializando o MaskedTextBox controle

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

  • Atribuir um tipo à ValidatingType propriedade e usar o manipulador de eventos para alertar o usuário quando o valor que ele está tentando confirmar não é válido para o TypeValidationCompleted tipo

Criar o projeto e adicionar um controle

Adicionar um controle MaskedTextBox ao seu formulário

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

  2. Arraste um MaskedTextBox controle da Caixa de Ferramentas para o formulário.

  3. Clique com o botão direito do mouse no controle e escolha Propriedades. Na janela Propriedades, selecione a propriedade Máscara e clique no botão de reticências ... ao lado do nome da propriedade.

  4. Na caixa de diálogo Máscara de Entrada, selecione a máscara Data abreviada e clique em OK.

  5. Na janela Propriedades, defina a BeepOnError propriedade como true. Essa propriedade faz com que um aviso sonoro curto soe sempre que o usuário tentar inserir um caractere que viola a definição da máscara.

Para obter um resumo dos caracteres suportados pela propriedade Mask, consulte a seção Comentários da Mask propriedade.

Alertar o usuário de erros de entrada

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

  1. Retorne à Caixa de Ferramentas e adicione um ToolTip ao seu formulário.

  2. Crie um manipulador de eventos para o MaskInputRejected evento que gera quando ToolTip ocorre um erro de entrada. A dica de balão permanece visível por cinco segundos ou até que o usuário clique 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 que um tipo que não é válido

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

  1. No manipulador de Load eventos do formulário, atribua um Type objeto que representa o DateTime tipo à MaskedTextBox propriedade do ValidatingType controle:

    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 ao 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  
    

Confira também