一、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-tw/n/135088.html