Freigeben über


Exemplarische Vorgehensweise: Arbeiten mit dem MaskedTextBox-Steuerelement

Aktualisiert: November 2007

Zu den Aufgaben in dieser exemplarischen Vorgehensweise gehören:

  • Initialisieren des MaskedTextBox-Steuerelements

  • Verwenden des MaskInputRejected-Ereignishandlers, um den Benutzer zu warnen, wenn ein eingegebenes Zeichen nicht der Maske entspricht

  • Zuweisen eines Typs zur ValidatingType-Eigenschaft und Verwenden des TypeValidationCompleted-Ereignishandlers, um den Benutzer zu warnen, wenn der Wert, für den ein Commit ausgeführt wird, für den Typ nicht gültig ist

Eine voll funktionsfähige Version des MaskedTextBox-Steuerelements, das erweiterte Features wie die Validierung benutzerdefinierter Datentypen veranschaulicht, finden Sie unter Beispiel für das MaskedTextBox-Steuerelement.

Erstellen des Projekts und Hinzufügen eines Steuerelements

So fügen Sie dem Formular ein MaskedTextBox-Steuerelement hinzu

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

  2. Ziehen Sie ein MaskedTextBox-Steuerelement aus der Toolbox in das Formular.

  3. Klicken Sie mit der rechten Maustaste auf das Steuerelement, und wählen Sie Eigenschaften aus. Klicken Sie im Eigenschaftenfenster auf die Mask-Eigenschaft und dann auf die Schaltfläche mit dem Auslassungszeichen ... neben dem Eigenschaftennamen.

  4. Wählen Sie im Dialogfeld Eingabeformat die Maske Datum (Kurzformat) aus, und klicken Sie auf OK.

  5. Legen Sie im Eigenschaftenfenster die BeepOnError-Eigenschaft auf true fest. Durch diese Eigenschaft wird jedes Mal ein kurzer Signalton ausgegeben, wenn der Benutzer ein Zeichen eingibt, das nicht der Maskendefinition entspricht.

Warnen des Benutzers bei Eingabefehlern

Hinzufügen einer QuickInfo-Sprechblase für abgelehnte Maskeneingaben

  1. Kehren Sie zur Toolbox zurück, und fügen Sie dem Formular ToolTip hinzu.

  2. Erstellen Sie einen Ereignishandler für das MaskInputRejected-Ereignis, durch das ToolTip beim Auftreten eines Eingabefehlers ausgelöst wird. Die QuickInfo-Sprechblase bleibt entweder fünf Sekunden oder so lange sichtbar, 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
    

Warnen des Benutzers bei ungültigen Typen

Hinzufügen einer QuickInfo-Sprechblase für ungültige Datentypen

  1. Weisen Sie im Load-Ereignishandler des Formulars ein Type-Objekt zu, das den DateTime-Typ der zum MaskedTextBox-Steuerelement gehörigen ValidatingType-Eigenschaft darstellt:

    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

Referenz

MaskedTextBox

Weitere Ressourcen

MaskedTextBox-Steuerelement (Windows Forms)