MaskedTextBox
掩碼控件還是比較常用的,一下是摘自msdn的掩碼元素表:
| 0 | 數(shù)字,必選。此元素將接受 0 到 9 之間的任何一個數(shù)字。 |
| 9 | 數(shù)字或空間,可選。 |
| # | 數(shù)字或空間,可選。如果掩碼中該位置為空白,在 Text 屬性中將把它呈現(xiàn)為一個空格。允許使用加號 (+) 和減號 (-)。 |
| L | 字母,必選。將輸入限定為 ASCII 字母 a-z 和 A-Z。此掩碼元素等效于正則表達(dá)式中的 [a-zA-Z]。 |
| ? | 字母,可選。輸入限定為 ASCII 字母 a-z 和 A-Z。此掩碼元素等效于正則表達(dá)式中的 [a-zA-Z]?。 |
| & | 字符,必選。如果 AsciiOnly 屬性設(shè)置為 true,此元素的行為將與“L”元素類似。 |
| C | 字符,可選。任何非控制字符。如果 AsciiOnly 屬性設(shè)置為 true,此元素的行為將類似于“?”元素。 |
| A | 字母數(shù)字,可選。如果將 AsciiOnly 屬性設(shè)置為 true,則它接受的唯一字符是 ASCII 字母 a-z 和 A-Z。 |
| a | 字母數(shù)字,可選。如果將 AsciiOnly 屬性設(shè)置為 true,則它接受的唯一字符是 ASCII 字母 a-z 和 A-Z。 |
| . | 小數(shù)點占位符。使用的實際顯示字符將是適合于格式提供程序的小數(shù)點符號,格式提供程序由控件的 FormatProvider 屬性決定。 |
| , | 千分位占位符。使用的實際顯示字符將是相應(yīng)于格式提供程序的千分位占位符,格式提供程序由控件的 FormatProvider 屬性決定。 |
| : | 時間分隔符。使用的實際顯示字符將是適合于格式提供程序的時間符號,格式提供程序由控件的 FormatProvider 屬性決定。 |
| / | 日期分隔符。使用的實際顯示字符將是適合于格式提供程序的日期符號,格式提供程序由控件的 FormatProvider 屬性決定。 |
| $ | 貨幣符號。顯示的實際字符將是相應(yīng)于格式提供程序的貨幣符號,格式提供程序由控件的 FormatProvider 屬性決定。 |
| < | 轉(zhuǎn)換為小寫。將后續(xù)所有字符都轉(zhuǎn)換為小寫。 |
| > | 轉(zhuǎn)換為大寫。將后續(xù)所有字符都轉(zhuǎn)換為大寫。 |
| | | 禁用前一個大寫轉(zhuǎn)換或小寫轉(zhuǎn)換。 |
| \ | 轉(zhuǎn)義。對掩碼字符進(jìn)行轉(zhuǎn)義,將其轉(zhuǎn)變?yōu)樵x字符。“\\”是反斜杠的轉(zhuǎn)義序列。 |
| 其他所有字符 | 原義字符。所有非掩碼元素都將原樣出現(xiàn)在 MaskedTextBox 中。原義字符在運行時始終占據(jù)掩碼中的一個固定位置,用戶不能移動或刪除該字符。 |
我所糾結(jié)的地方在于掩碼元素表中的0和9的“必選”和“可選”是什么意思,如果只是單純的設(shè)置下MASK屬性完全看不出區(qū)別,為了看出區(qū)別我設(shè)置了maskedTextBox1_TypeValidationCompleted事件:
private void maskedTextBox1_TypeValidationCompleted(object sender, TypeValidationEventArgs e){
if (!e.IsValidInput)
{
toolTip1.ToolTipTitle = "Invalid Date";
toolTip1.Show("The data you supplied must be a valid date in the format mm/dd/yyyy.", maskedTextBox1, 0, -20, 5000);
}
else
{
DateTime userDate = (DateTime)e.ReturnValue;
if (userDate < DateTime.Now)
{
toolTip1.ToolTipTitle = "Invalid Date";
toolTip1.Show("The date in this field must be greater than today's date.", maskedTextBox1, 0, -20, 5000);
e.Cancel = true;
}
}
}
Form_Load事件中:
maskedTextBox1.ValidatingType=typeof(System.DateTime);maskedTextBox1.TypeValidationCompleted+=new TypeValidationEventHandler(maskedTextBox1_TypeValidationCompleted);maskedTextBox1.KeyDown+=new KeyEventHandler(maskedTextBox1_KeyDown);再添加KeyDown事件:
private void maskedTextBox1_KeyDown(object sender, KeyEventArgs e){toolTip1.Hide(maskedTextBox1);}這樣再設(shè)置下MASK屬性就是能看出“必選”和“可選”的區(qū)別了。
參考自msdn.
轉(zhuǎn)載于:https://www.cnblogs.com/tony312ws/archive/2011/08/22/2149021.html
總結(jié)
以上是生活随笔為你收集整理的MaskedTextBox的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 下一代防火墙信息收集(概念篇)
- 下一篇: JS 日历控件