Freigeben über


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

  1. Öffnen Sie das Formular, auf dem Sie das Steuerelement MaskedTextBox platzieren möchten.

  2. Ziehen Sie ein MaskedTextBox-Steuerelement aus dem -Werkzeugkasten in Ihr Formular.

  3. 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.

  4. Wählen Sie im Dialogfeld Eingabeformat das Format Kurzes Datum aus, und klicken Sie auf OK.

  5. Legen Sie im Fenster Eigenschaften die eigenschaft BeepOnError auf truefest. 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

  1. Kehren Sie zur Toolbox - zurück und fügen Sie ToolTip zu Ihrem Formular hinzu.

  2. 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

  1. 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  
    
  2. 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