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
Aprire il form in cui inserire il controllo MaskedTextBox.
Trascinare un controllo MaskedTextBox dalla Casella degli strumenti nel form.
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à.
Nella finestra di dialogo Maschera input selezionare la maschera Data breve e fare clic su OK.
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
Tornare alla Casella degli strumenti e aggiungere un controllo ToolTip al form.
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
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
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
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. |