Sdílet prostřednictvím


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

  1. Otevřete formulář, na který chcete ovládací prvek umístit MaskedTextBox .

  2. MaskedTextBox Přetáhněte ovládací prvek ze sady nástrojů do formuláře.

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

  4. V dialogovém okně Vstupní maska vyberte masku Krátké datum a klepněte na tlačítko OK.

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

  1. Vraťte se do panelu nástrojů a přidejte ho ToolTip do formuláře.

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

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