Walkthrough: Werken met de MaskedTextBox-instructie
Taken die in deze walkthrough worden geïllustreerd, omvatten:
Het besturingselement MaskedTextBox initialiseren
De MaskInputRejected gebeurtenishandler gebruiken om de gebruiker te waarschuwen wanneer een teken niet overeenkomt met het masker
Een type toewijzen aan de eigenschap ValidatingType en de TypeValidationCompleted gebeurtenis-handler gebruiken om de gebruiker te waarschuwen wanneer de waarde die hij probeert door te voeren, niet geldig is voor het type
Het project maken en een controle toevoegen
Een MaskedTextBox-besturingselement toevoegen aan uw formulier
Open het formulier waarop u de MaskedTextBox-controle wilt plaatsen.
Sleep een MaskedTextBox-besturingselement van de Werkset naar je formulier.
Klik met de rechtermuisknop op het besturingselement en kies Eigenschappen. Selecteer in het venster Eigenschappen de eigenschap Masker en klik op de knop ... (beletselteken) naast de naam van de eigenschap.
Selecteer in het dialoogvenster Invoermasker het masker korte datum en klik op OK.
Stel in het venster Eigenschappen de eigenschap BeepOnError in op
true
. Deze eigenschap zorgt ervoor dat telkens wanneer de gebruiker probeert een teken in te voeren dat de maskerdefinitie schendt, een korte pieptoon klinkt.
Zie de sectie Opmerkingen van de eigenschap Mask voor een samenvatting van de tekens die door de eigenschap Mask worden ondersteund.
De gebruiker waarschuwen voor invoerfouten
Een ballontip toevoegen voor geweigerde maskerinvoer
Ga terug naar de Gereedschapskist en voeg een ToolTip toe aan uw formulier.
Maak een gebeurtenis-handler voor de MaskInputRejected gebeurtenis die de ToolTip genereert wanneer er een invoerfout optreedt. De ballontip blijft vijf seconden zichtbaar of totdat de gebruiker erop klikt.
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
De gebruiker waarschuwen voor een type dat ongeldig is
Voeg een ballontip toe voor ongeldige gegevenstypen
Wijs in de Load-gebeurtenishandler van je formulier een Type-object toe dat het DateTime-type vertegenwoordigt aan de ValidatingType-eigenschap van het MaskedTextBox-besturingselement:
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
Voeg een gebeurtenis-handler toe voor de TypeValidationCompleted gebeurtenis:
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
Zie ook
.NET Desktop feedback