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

掩码元素

说明

0

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

9

数字或空间,可选。

#

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

L

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

?

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

&

字符,必选。如果 AsciiOnly 属性设置为 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 属性决定。

$

货币符号。显示的实际字符将是相应于格式提供程序的货币符号,格式提供程序由控件的 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

MaskedTextBox相关推荐

  1. MaskedTextBox的聚焦和光标位置

    遇到一个关于MaskedTextBox聚焦和光标居左的问题. ①. 先说说聚焦: 起初给MaskedTextBox设置了Focus(),运行之后,并没有作用. 然后又给Form添加了Load事件,又设 ...

  2. winform控件之maskedTextBox

    maskedTextBox控件是使用掩码区分正确的和不正确的用户输入的控件,掩码定义如下 掩码元素 说明 正则表达式元素 0 0 到 9 之间的任何一个数字.必选项. \d 9 数字或空格.可选项. ...

  3. C# 公共控件之maskedTextBox

    IP地址框 1.添加 maskedTextBox 控件 2.设置属性 3.设定MouseLeave事件 private void IPAddressOnMouseLeave(object sender ...

  4. MaskedTextBox总结

    MaskedTextBox总结 MaskedTextBox的Mask属性中的一些掩码及其效果,网上这方面的资源不多,找了一部分,总结如下(不包括VS自带的验证): IP地址:999.999.999.9 ...

  5. vb.net 教程 3-4 窗体编程 公共控件4 MaskedTextBox

    9.MaskedTextBox 掩码文本框?实际上就是使用设定的格式来控制文本输入的文本框. 重要属性: PromptChar:表示在掩码文本框中需要用户填充的位置使用什么字符 Mask:设置用户输入 ...

  6. C#MaskedTextBox掩码元素说明

    掩码元素 说明 0 数字,必选.此元素将接受 0 到 9 之间的任何一个数字. 9 数字或空间,可选. # 数字或空间,可选.如果掩码中该位置为空白,在Text属性中将把它呈现为一个空格.允许使用加号 ...

  7. winform之MaskedTextBox(掩码文本控件)

    控件主要作用: 使用掩码来区分用户输入文本是否正确. 常用属性: 属性 描叙 BeepOnError 指示键入无效字符是控件是否发出系统提示音: CutCopyMaskFormat 设置控件文本值复制 ...

  8. 设置MaskedTextBox控件的格式,掩码方式检验输入方式

    #region 设置MaskedTextBox控件的格式,掩码方式检验输入方式/// <summary>/// 将MaskedTextBox控件的格式设为yyyy-mm-dd格式./// ...

  9. MaskedTextBox中对IP信息输入的处理

    在VB.NET中,MaskedTextBox对于一些格式化的输入非常有用,但是初次接触到它,有时候让人无所适从,比如这个控件用于IP地址输入时,就会出现让人头痛的问题. 比如,在MaskedTextB ...

最新文章

  1. Nginx虚拟主机、Nginx模块的安装使用(加密模块--with-http_ssl_module)
  2. Zookeeper集群脑裂问题
  3. 复习javascript中call,apply,bind的用法
  4. TZOJ 4621 Grammar(STL模拟)
  5. 回顾2017年JavaScript状况
  6. 黑客SQL服务器入侵实战演习
  7. html5复习分类,HTML5考试复习资料.doc
  8. java多线程新特性
  9. autocad完全应用指南_如何提高CAD画图的速度?有哪些途径和技法?【AutoCAD教程】...
  10. vue 跳转页面带对象_vue跳转页面的几种方法(推荐)
  11. 避坑指南!数据分析最容易被忽略的10个错误
  12. SQL 难点解决:直观分组
  13. 1040 有几个PAT
  14. atitit.自己动手开发编译器and解释器(1) ------词法分析--attilax总结
  15. 电路设计实例:232 DB9接口 引脚定义
  16. 质疑江民电脑保护系统,涉嫌抄袭
  17. 安卓手机与苹果手机安装包的区别
  18. 申请美国商务签证(B1/B2) -- 大连
  19. 运行Django项目报错解决,OSError: [WinError 123] 文件名、目录名或卷标语法不正确。
  20. 如何注册ArcGIS教学试用版账号

热门文章

  1. 【百家稷学】深度学习计算机视觉生产实习(山西农业大学暑期实训)
  2. 【星球知识卡片】模型量化的核心技术点有哪些,如何对其进行长期深入学习...
  3. 【百战GAN】羡慕别人的美妆?那就用GAN复制粘贴过来
  4. 【直播预告】如何设计性能更强的CNN模型
  5. 中国中医药产业未来投资规划与前景风险预测报告2022-2027年版
  6. 和平健康粮食安全谋定联合国和平音乐会-林啟樵:民族复兴
  7. 电商谋定重整智能物流生态-李玉庭:对话中国经济和信息化
  8. JSON Pointer
  9. 阿里云服务器1M带宽是多少
  10. POJ1328-Radar Installation