İzlenecek yol: MaskedTextBox Denetimiyle Çalışma
Bu izlenecek yolda gösterilen görevler şunlardır:
Denetim başlatılıyor MaskedTextBox
MaskInputRejectedBir karakter maskeyle uyumlu olmadığında kullanıcıyı uyarmak için olay işleyicisini kullanma
Özelliğe bir tür atama ValidatingType ve TypeValidationCompleted kaydetmeye çalıştıkları değer bu tür için geçerli olmadığında kullanıcıyı uyarmak için olay işleyicisini kullanma
Project oluşturma ve denetim ekleme
Formunuza bir MaskedTextBox denetimi eklemek için
Denetimi yerleştirmek istediğiniz formu açın MaskedTextBox .
MaskedTextBoxMaskedTextBox ' ndan formunuza bir denetim sürükleyin.
Denetime sağ tıklayın ve Özellikler' i seçin. Özellikler penceresinde maske özelliğini seçin ve özellik adının yanındaki ... (üç nokta) düğmesine tıklayın.
Giriş maskesi Iletişim kutusunda kısa tarih maskesini seçip Tamam' a tıklayın.
Özellikler penceresinde özelliğini olarak ayarlayın
true. Bu özellik, Kullanıcı maske tanımını ihlal eden bir karakter girişi her denediğinde sese kısa bir bip sesine neden olur.
Maske özelliğinin desteklediği karakterlerin bir özeti için, özelliğinin açıklamalar bölümüne bakın Mask .
Hataları girmek için kullanıcıyı uyarır
Reddedilen maske girişi için balon ipucu ekleyin
Araç kutusuna dönün ve formunuza bir ekleyin .
MaskInputRejectedBir giriş hatası oluştuğunda harekete geçiren olay için bir olay işleyicisi oluşturun ToolTip . Balon ipucu beş saniye boyunca görünür kalır veya Kullanıcı üzerini tıklatana kadar görünür.
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
Kullanıcıyı geçerli olmayan bir türe uyar
Geçersiz veri türleri için balon ipucu ekleyin
Formunuzun Load olay işleyicinizde, TypeDateTime denetimin özelliğine türü temsil eden bir nesne atayın MaskedTextBoxValidatingType :
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 SubOlay için bir olay işleyicisi ekleyin TypeValidationCompleted :
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