Návod: Práce s ovládacím prvkem MaskedTextBox
Mezi úlohy znázorněné v tomto názorném postupu patří:
Inicializace MaskedTextBox ovládacího prvku
Použití obslužné rutiny MaskInputRejected události k upozorňování uživatele, když znak neodpovídá masce
Přiřazení typu k ValidatingType vlastnosti a použití TypeValidationCompleted obslužné rutiny události k upozorňování uživatele, když hodnota, kterou se pokouší potvrdit, není pro typ platná.
Vytvoření projektu a přidání ovládacího prvku
Přidání ovládacího prvku MaskedTextBox do formuláře
Otevřete formulář, na který chcete ovládací prvek umístit MaskedTextBox .
MaskedTextBox Přetáhněte ovládací prvek ze sady nástrojů do formuláře.
Klikněte pravým tlačítkem myši na ovládací prvek a zvolte Vlastnosti. V okně Vlastnosti vyberte vlastnost Maska a klikněte na tlačítko ... (tři tečky) vedle názvu vlastnosti.
V dialogovém okně Vstupní maska vyberte masku Krátké datum a klepněte na tlačítko OK.
V okně Vlastnosti nastavte BeepOnError vlastnost na
true
. Tato vlastnost způsobí, že se krátké pípnutí zvuku pokaždé, když se uživatel pokusí zadat znak, který porušuje definici masky.
Souhrn znaků, které vlastnost Mask podporuje, naleznete v části Poznámky vlastnosti Mask .
Upozornit uživatele na chyby vstupu
Přidání bublinového tipu pro odmítnutý vstup masky
Vraťte se do panelu nástrojů a přidejte ho ToolTip do formuláře.
Vytvořte obslužnou rutinu MaskInputRejected události pro událost, která vyvolá při výskytu ToolTip vstupní chyby. Tip bubliny zůstane viditelný po dobu pěti sekund nebo dokud na něj uživatel neklikne.
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
Upozornit uživatele na typ, který není platný
Přidání bublinového tipu pro neplatné datové typy
V obslužné rutině Load události formuláře přiřaďte Type objekt představující DateTime typ vlastnosti MaskedTextBox ovládacího prvku ValidatingType :
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
Přidejte obslužnou rutinu TypeValidationCompleted události pro událost:
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
Viz také
.NET Desktop feedback