在C#中, MaskedTextBox控件为日期, 电话号码等表单上的用户输入提供验证过程。换句话说, 它用于提供区分正确和不正确用户输入的掩码。 MaskedTextBox类用于表示Windows蒙版的文本框, 还提供不同类型的属性, 方法和事件。它在下定义
System.Windows.Forms命名空间。
此类是TextBox控件的增强版本, 它支持用于接收或拒绝用户输入的声明性语法, 并且当此控件在运行时显示时, 它将掩码表示为提示字符和可选文字字符的序列。在C#中, 可以使用两种不同的方式在Windows窗体中创建MaskedTextBox:
1.设计时间:这是创建MaskedTextBox的最简单方法, 如以下步骤所示:
第1步:
创建一个Windows窗体, 如下图所示:
Visual Studio->文件->新建->项目-> WindowsFormApp
 
第2步:
接下来, 将MaskedTextBox控件从工具箱拖放到窗体。
 
第三步:
拖放后, 你将转到MaskedTextBox控件的属性, 以根据需要修改MaskedTextBox。
 
输出如下:
 
2.运行时:它比上面的方法有些棘手。在此方法中, 可以借助MaskedTextBox类提供的语法以编程方式创建MaskedTextBox控件。以下步骤显示如何动态设置创建MaskedTextBox:
步骤1:使用MaskedTextBox类提供的MaskedTextBox()构造函数创建MaskedTextBox控件。 //创建一个MaskedTextBox控件MaskedTextBox mbox = new MaskedTextBox();
步骤2:创建MaskedTextBox控件后, 设置MaskedTextBox类提供的MaskedTextBox控件的属性。 //设置MaskedTextBox mbox的属性// Location = new Point(374, 137); mbox.Mask =" 000000000"; mbox.Size = new Size(176, 20); mbox.Name =" MyBox"; mbox.Font = new Font(" Bauhaus 93", 18);
第三步:
最后, 使用以下语句将此MaskedTextBox控件添加到表单中:
//Adding MaskedTextBox 
//control on the form 
this.Controls.Add(mbox); 
 
 
例子:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
  
namespace WindowsFormsApp36 {
  
public partial class Form1 : Form {
  
     public Form1()
     {
         InitializeComponent();
     }
  
     private void Form1_Load( object sender, EventArgs e)
     {
         //Creating and setting the
         //properties of the Label
         Label l1 = new Label();
         l1.Location = new Point(413, 98);
         l1.Size = new Size(176, 20);
         l1.Text = " Example" ;
         l1.Font = new Font( "Bauhaus 93" , 12);
  
         //Adding label on the form
         this .Controls.Add(l1);
  
         //Creating and setting the
         //properties of the Label
         Label l2 = new Label();
         l2.Location = new Point(242, 135);
         l2.Size = new Size(126, 20);
         l2.Text = "Phone number:" ;
         l2.Font = new Font( "Bauhaus 93" , 12);
  
         //Adding label on the form
         this .Controls.Add(l2);
  
         //Creating and setting the
         //properties of the MaskedTextBox
         MaskedTextBox mbox = new MaskedTextBox();
         mbox.Location = new Point(374, 137);
         mbox.Mask = "000000000" ;
         mbox.Size = new Size(176, 20);
         mbox.Name = "MyBox" ;
         mbox.Font = new Font( "Bauhaus 93" , 18);
  
         //Adding MaskedTextBox
         //control on the form
         this .Controls.Add(mbox);
     }
}
} 
 
 
输出如下:
 
建设者
| 建设者 | 描述 | 
|---|---|
| MaskedTextBox() | 此构造方法用于初始化MaskedTextBox类的新实例。 | 
| MaskedTextBox(MaskedTextProvider) | 此构造方法用于使用指定的自定义屏蔽语言提供程序初始化MaskedTextBox类的新实例。 | 
| MaskedTextBox(字符串) | 此构造方法用于使用指定的输入掩码初始化MaskedTextBox类的新实例。 | 
属性
| 属性 | 描述 | 
|---|---|
| AsciiOnly | 获取或设置一个值, 该值指示MaskedTextBox控件是否接受ASCII字符集之外的字符。 | 
| AutoSize | 此属性用于获取或设置一个值, 该值指示控件是否根据其内容调整大小。 | 
| BackColor | 此属性用于获取或设置控件的背景色。 | 
| BorderStyle | 此属性指示控件的边框样式。 | 
| Font | 此属性用于获取或设置控件显示的文本的字体。 | 
| ForeColor | 此属性用于获取或设置控件的前景色。 | 
| Height | 此属性用于获取或设置控件的高度。 | 
| Location | 此属性用于获取或设置MaskedTextBox控件的左上角相对于其窗体的左上角的坐标。 | 
| Name | 此属性用于获取或设置控件的名称。 | 
| TabStop | 此属性用于获取或设置一个值, 该值显示用户是否可以按TAB键将焦点提供给NumericUpDown。 | 
| Size | 此属性用于获取或设置控件的高度和宽度。 | 
| Text | 此属性用于获取或设置要在RichTextBox控件中显示的文本。 | 
| Visible | 此属性用于获取或设置一个值, 该值指示是否显示该控件及其所有子控件。 | 
| Width | 此属性用于获取或设置控件的宽度。 | 
| Multiline | 此属性用于获取或设置一个值, 该值指示这是否是多行MaskedTextBox控件。 | 
| TextAlign | 此属性用于获取或设置蒙版文本框控件中文本的对齐方式。 | 
| TextMaskFormat | 此属性用于获取或设置一个值, 该值确定格式化字符串中是否包含文字和提示字符。 | 
| SelectedText | 此属性用于获取或设置MaskedTextBox控件中的当前选择。 | 
| PromptChar | 此属性用于获取或设置用于表示MaskedTextBox中缺少用户输入的字符。 | 
| ReadOnly | 此属性用于获取或设置一个值, 该值指示文本框中的文本是否为只读。 | 
| MaxLength | 此属性用于获取或设置用户可以键入或粘贴到文本框控件中的最大字符数。 MaskedTextBox不支持此属性。 | 
| Lines | 此属性用于获取或设置多行配置中的文本行。 MaskedTextBox不支持此属性。 | 

