一、MaskedTextBox概述
MaskedTextBox控件是Windows Forms中的一個輸入控件,它可以限制用戶在文本框中輸入的字符類型、數量以及格式。通過設置預定義的掩碼模式,可以使用戶在輸入時只能輸入符合要求的字符,從而方便開發者對用戶輸入的數據進行驗證、格式化等操作。
二、MaskedTextBox控件常用屬性
1. Mask
Mask屬性指定掩碼模式,它可以接受以下常用的掩碼字符:
0:表示輸入任意數字; L:表示輸入任意字母; ?:表示輸入任意字符; A:表示輸入任意大寫字母; a:表示輸入任意小寫字母; &: 表示必須輸入此位置的字符; C:表示輸入任意字符或數字。
例如:設置Mask屬性為”000-00-0000″,則文本框只能輸入數字和連字符,且必須輸入9位字符,否則輸入無效。
2. PromptChar
PromptChar屬性指定用於填充尚未輸入的字符的字符。默認情況下,掩碼模式中未填充的字符用此屬性指定的字符填充,通常是下劃線(_)或空格( )。例如:
maskedTextBox1.Mask = "0000_0000_0000_0000"; maskedTextBox1.PromptChar = ' ';
上述代碼中,MaskedTextBox控件的掩碼模式為16位數字分為4組,每組4位,未輸入的位置用空格填充。
3. PasswordChar
PassWordChar屬性指定用於替換密碼字符的字符,從而使輸入的密碼字符在文本框中不可見。例如:
maskedTextBox1.Mask = "000-00-0000"; maskedTextBox1.PasswordChar = '*';
上述代碼中,文本框的掩碼模式為數字和連字符,密碼字符用“*”替換。
三、MaskedTextBox控件常用方法
1. Cut()
Cut()方法用於剪切選擇的文本,與常規的剪切操作類似。
maskedTextBox1.Cut();
2. Copy()
Copy()方法用於將選擇的文本複製到剪貼板。
maskedTextBox1.Copy();
3. Paste()
Paste()方法用於將剪切板中的文本粘貼到文本框中。
maskedTextBox1.Paste();
4. Undo()
Undo()方法用於撤銷最後一次操作。
maskedTextBox1.Undo();
四、MaskedTextBox控件的事件
1. MaskInputRejected
MaskInputRejected事件在用戶輸入的字符與掩碼模式不匹配時發生。例如,當用戶輸入字母L時,但掩碼模式只允許輸入數字時,就會觸發MaskInputRejected事件。
private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e) { MessageBox.Show("只允許輸入數字!"); }
2. TypeValidationCompleted
TypeValidationCompleted事件在掩碼模式輸入驗證完成時觸發,例如用戶輸入完整的掩碼字符後。
private void maskedTextBox1_TypeValidationCompleted(object sender, TypeValidationEventArgs e) { if (e.IsValidInput) { MessageBox.Show("輸入正確!"); } else { MessageBox.Show("輸入格式不正確!"); } }
五、小結
通過本文的介紹,我們了解了MaskedTextBox控件的概念和常用的屬性、方法、事件等,它可以方便快捷地限制用戶的輸入並對輸入進行驗證等操作,具有很好的使用價值。
原創文章,作者:WSPH,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/135088.html