博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MaskedTextBox
阅读量:7260 次
发布时间:2019-06-29

本文共 2379 字,大约阅读时间需要 7 分钟。

掩码控件还是比较常用的,一下是摘自msdn的掩码元素表:

掩码元素

说明

0

数字,必选。此元素将接受 0 到 9 之间的任何一个数字。

9

数字或空间,可选。

#

数字或空间,可选。如果掩码中该位置为空白,在 属性中将把它呈现为一个空格。允许使用加号 (+) 和减号 (-)。

L

字母,必选。将输入限定为 ASCII 字母 a-z 和 A-Z。此掩码元素等效于正则表达式中的 [a-zA-Z]。

?

字母,可选。输入限定为 ASCII 字母 a-z 和 A-Z。此掩码元素等效于正则表达式中的 [a-zA-Z]?。

&

字符,必选。如果 属性设置为 true,此元素的行为将与“L”元素类似。

C

字符,可选。任何非控制字符。如果 AsciiOnly 属性设置为 true,此元素的行为将类似于“?”元素。

A

字母数字,可选。如果将 AsciiOnly 属性设置为 true,则它接受的唯一字符是 ASCII 字母 a-z 和 A-Z。

a

字母数字,可选。如果将 AsciiOnly 属性设置为 true,则它接受的唯一字符是 ASCII 字母 a-z 和 A-Z。

.

小数点占位符。使用的实际显示字符将是适合于格式提供程序的小数点符号,格式提供程序由控件的 属性决定。

,

千分位占位符。使用的实际显示字符将是相应于格式提供程序的千分位占位符,格式提供程序由控件的 FormatProvider 属性决定。

:

时间分隔符。使用的实际显示字符将是适合于格式提供程序的时间符号,格式提供程序由控件的 FormatProvider 属性决定。

/

日期分隔符。使用的实际显示字符将是适合于格式提供程序的日期符号,格式提供程序由控件的 FormatProvider 属性决定。

$

货币符号。显示的实际字符将是相应于格式提供程序的货币符号,格式提供程序由控件的 FormatProvider 属性决定。

<

转换为小写。将后续所有字符都转换为小写。

>

转换为大写。将后续所有字符都转换为大写。

|

禁用前一个大写转换或小写转换。

\

转义。对掩码字符进行转义,将其转变为原义字符。“\\”是反斜杠的转义序列。

其他所有字符

原义字符。所有非掩码元素都将原样出现在 MaskedTextBox 中。原义字符在运行时始终占据掩码中的一个固定位置,用户不能移动或删除该字符。

我所纠结的地方在于掩码元素表中的0和9的“必选”和“可选”是什么意思,如果只是单纯的设置下MASK属性完全看不出区别,为了看出区别我设置了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);        }

这样再设置下MASK属性就是能看出“必选”和“可选”的区别了。

参考自msdn.

转载于:https://www.cnblogs.com/tony312ws/archive/2011/08/22/2149021.html

你可能感兴趣的文章
使用Excel消费C4C的OData service
查看>>
BOM基本概念
查看>>
QuickBI助你成为分析师-数据建模(二)
查看>>
JSON Web Token 简介
查看>>
小谈yii2中3个数据提供者及与GridView的搭配使用
查看>>
对于iOS性能优化的一点看法
查看>>
移动端字体大小调节器实现
查看>>
在开始第一个机器学习项目之前就了解的那些事儿
查看>>
运行eos节点之官网从节点
查看>>
数据可视化,个人经验总结(Echarts相关)
查看>>
ajax简单封装
查看>>
【360天】跃迁之路——程序员高效学习方法论探索系列(实验阶段118-2018.01.31)...
查看>>
扯点:FC - Formatting Context
查看>>
WebGL2系列之顶点数组对象
查看>>
[webpack3.8.1]Guides-3-Asset Management(资源管理)
查看>>
Linux下libevent库的基础安装和安装错误的解决方案以及使用
查看>>
Makefile 速查笔记
查看>>
Go基础学习二之常用命令、包、变量、常量、控制语句、range
查看>>
【前端自动化测试】Karma + Jasmine + RequireJS 的自动化测试实现
查看>>
Webpack + Vue2 + Koa2 构建应用
查看>>