Freigeben über


Exemplarische Vorgehensweise: Arbeiten mit dem MaskedTextBox-Steuerelement

In dieser exemplarischen Vorgehensweise werden u. a. folgende Aufgaben veranschaulicht:

  • Initialisieren des MaskedTextBox-Steuerelements

  • Verwenden des MaskInputRejected-Ereignishandlers zum Warnen des Benutzers, wenn ein Zeichen nicht der Maske entspricht

  • Zuweisen eines Typs an die ValidatingType-Eigenschaft und Verwenden des TypeValidationCompleted-Ereignishandlers zum Warnen des Benutzers, wenn der Wert, den er zu übertragen versucht, nicht für den Typ gültig ist

Erstellen des Projekts und Hinzufügen eines Steuerelements

So fügen Sie ein MaskedTextBox-Steuerelement zu Ihrem Formular hinzu

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

  2. Ziehen Sie ein MaskedTextBox-Steuerelement aus der Toolbox auf Ihr Formular.

  3. Klicken Sie mit der rechten Maustaste auf das Steuerelement, und wählen Sie Eigenschaften aus. Wählen Sie im Fenster Eigenschaften die Mask-Eigenschaft aus, und klicken Sie auf die Schaltfläche ... (Auslassungspunkte) neben dem Eigenschaftsnamen.

  4. Wählen Sie im Dialogfeld Eingabemaske die Maske Kurzes Datum aus, und klicken Sie auf OK.

  5. Legen Sie im Fenster Eigenschaften die BeepOnError-Eigenschaft auf true fest. Diese Eigenschaft bewirkt, dass jedes Mal ein kurzer Piepton ertönt, wenn der Benutzer versucht, ein Zeichen einzugeben, das gegen die Maskendefinition verstößt.

Eine Zusammenfassung der von der Mask-Eigenschaft unterstützten Zeichen finden Sie im Abschnitt „Hinweise“ der Mask-Eigenschaft.

Benachrichtigen des Benutzers über Eingabefehler

Hinzufügen einer SprechblasenInfo für abgelehnte Maskeneingabe

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

  2. Erstellen Sie einen Ereignishandler für das MaskInputRejected-Ereignis, der das ToolTip-Ereignis auslöst, wenn ein Eingabefehler auftritt. Die SprechblasenInfo bleibt fünf Sekunden lang sichtbar, oder bis der Benutzer sie anklickt.

    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  
    

Benachrichtigen des Benutzers über einen ungültigen Typ

Hinzufügen einer SprechblasenInfo für ungültige Datentypen

  1. Weisen Sie im Load-Ereignishandler Ihres Formulars der ValidatingType-Eigenschaft des MaskedTextBox-Steuerelements ein Type-Objekt zu, das den DateTime-Typ 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  
    

Weitere Informationen