Exemplarische Vorgehensweise: Arbeiten mit dem MaskedTextBox-Steuerelement
Die in dieser exemplarischen Vorgehensweise veranschaulichten Aufgaben umfassen:
Initialisieren des MaskedTextBox-Steuerelements
Mit dem MaskInputRejected-Ereignishandler zur Benachrichtigung des Benutzers, wenn ein Zeichen nicht der Maske entspricht
Zuweisen eines Typs zur ValidatingType-Eigenschaft und Verwenden des TypeValidationCompleted-Ereignishandlers, um den Benutzer zu benachrichtigen, wenn der Wert, den er zu übernehmen versucht, für den Typ ungültig ist
Erstellen des Projekts und Hinzufügen eines Steuerelements
So fügen Sie Ihrem Formular ein MaskedTextBox-Steuerelement hinzu
Öffnen Sie das Formular, auf dem Sie das Steuerelement MaskedTextBox platzieren möchten.
Ziehen Sie ein MaskedTextBox-Steuerelement aus dem -Werkzeugkasten in Ihr Formular.
Klicken Sie mit der rechten Maustaste auf das Steuerelement, und wählen Sie Eigenschaftenaus. Wählen Sie im Fenster Eigenschaften die Eigenschaft "Maske" aus, und klicken Sie auf die Schaltfläche ... (Auslassungspunkte) neben dem Eigenschaftsnamen.
Wählen Sie im Dialogfeld Eingabeformat das Format Kurzes Datum aus, und klicken Sie auf OK.
Legen Sie im Fenster Eigenschaften die eigenschaft BeepOnError auf
true
fest. Diese Eigenschaft verursacht einen kurzen Signalton, wenn der Benutzer versucht, ein Zeichen einzugeben, das gegen die Maskendefinition verstößt.
Eine Zusammenfassung der Zeichen, die von der Mask-Eigenschaft unterstützt werden, finden Sie im Abschnitt „Hinweise“ der Mask-Eigenschaft.
Benachrichtigen des Benutzers auf Eingabefehler
Hinzufügen eines Sprechblasenhinweises für abgewiesene Maskeneingaben
Kehren Sie zur Toolbox - zurück und fügen Sie ToolTip zu Ihrem Formular hinzu.
Erstellen Sie einen Ereignishandler für das MaskInputRejected-Ereignis, das den ToolTip auslöst, wenn ein Eingabefehler auftritt. Die Ballonspitze bleibt fünf Sekunden sichtbar oder bis der Benutzer darauf klickt.
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
Den Benutzer über einen ungültigen Typ benachrichtigen
Füge einen Sprechblasentipp für ungültige Datentypen hinzu
Im Load-Ereignishandler Ihres Formulars weisen Sie ein Type-Objekt, das den DateTime-Typ darstellt, der ValidatingType-Eigenschaft des MaskedTextBox-Steuerelements zu.
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
Fügen Sie einen Ereignishandler für das TypeValidationCompleted-Ereignis hinzu:
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
Siehe auch
.NET Desktop feedback