Condividi tramite


Procedura dettagliata: utilizzo del controllo MaskedTextBox

Di seguito vengono elencate le attività illustrate nella procedura dettagliata:

  • Inizializzazione del controllo MaskedTextBox

  • Utilizzo del gestore eventi MaskInputRejected per avvertire l'utente quando un carattere non è conforme alla maschera

  • Assegnazione di un tipo alla proprietà ValidatingType e utilizzo del gestore eventi TypeValidationCompleted per avvertire l'utente quando il valore di cui si sta tentando di eseguire il commit non è valido per il tipo

Creazione del progetto e aggiunta di un controllo

Per aggiungere un controllo MaskedTextBox al form

  1. Aprire il form in cui inserire il controllo MaskedTextBox.

  2. Trascinare un controllo MaskedTextBox dalla Casella degli strumenti nel form.

  3. Fare clic con il pulsante destro del mouse sul controllo, quindi scegliere Proprietà. Nella finestra Proprietà selezionare la proprietà Mask e fare clic sul pulsante con i puntini di sospensione accanto al nome della proprietà.

  4. Nella finestra di dialogo Maschera input selezionare la maschera Data breve e fare clic su OK.

  5. Nella finestra Proprietà impostare la proprietà BeepOnError su true. Questa proprietà prevede l'emissione di un breve segnale acustico ogni volta che l'utente tenta di immettere un carattere che viola la definizione della maschera.

Per un riepilogo dei caratteri supportati dalla proprietà Mask, vedere la sezione relativa alle osservazioni della proprietà Mask.

Segnalazione di errori di input

Aggiungere una descrizione comandi per l'input di maschera rifiutato

  1. Tornare alla Casella degli strumenti e aggiungere un controllo ToolTip al form.

  2. Creare un gestore eventi per l'evento MaskInputRejected che genera il controllo ToolTip quando si verifica un errore di input. La descrizione comandi resta visibile per cinque secondi o finché l'utente non la seleziona con un clic.

    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
    

Segnalazione di un tipo non valido

Aggiungere una descrizione comandi per i tipi di dati non validi

  1. Nel gestore eventi Load del form assegnare un oggetto Type che rappresenta il tipo DateTime alla proprietà ValidatingType del controllo MaskedTextBox:

    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. Aggiungere un gestore eventi per l'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
    

Vedere anche

Riferimenti

MaskedTextBox

Altre risorse

Controllo MaskedTextBox (Windows Form)

Cronologia delle modifiche

Data

Cronologia

Motivo

Settembre 2010

Aggiunta di un collegamento alla proprietà Mask contenente un riepilogo dei caratteri supportati dalla proprietà Mask.

Commenti e suggerimenti dei clienti.