C# WinForm —— 17 MaskedTextBox 介绍

1. 简介

本质是文本框,但它可以通过掩码来区分输入的正确与否,可以控制输入的格式、长度
主要应用场景是:需要格式化输入信息的情况

2. 常用属性

属性解释
(Name)控件ID,在代码里引用的时候会用到,一般以 mtxt 开头
AsciiOnly是否只接受ASCII字符作为有效输入
BeepOnError键入无效字符时,控件是否发出提示音
CutCopyMaskFormat指示在将文本复制到剪贴板时是否包含原义字符和/或提示字符。
ExcludePromptAndLiterals:仅复制输入文本
IncludePrompt:复制文本,不复制掩码字符/提示字符
IncludeLiterals(默认):复制文本和原义字符
IncludePromptAndLiterals:复制文本和原义字符、提示字符
Dock是否要绑定到容器的边框
Enabled是否启用该控件
HidePromptOnLeave当控件没有焦点时,是否显示提示字符,默认不显示
HideSelection当编辑控件失去焦点时,是否隐藏选定内容
InsertKeyMode指示掩码文本框输入字符的键入模式
Mask设置控制此控件允许的输入的字符串,点击后面 三个点的符号 开始设置:
在这里插入图片描述
在这里插入图片描述
掩码的字符代号:
0:必选*,0-9 之间的任意一个数字
9:可选, 数字或空格
#:可选 ,数字或空格,如果掩码中该位置为空白,在Text属性中将把它呈现为一个空格。允许使用加号 (+) 和减号 (-)
L:ASCII字母,必选*
&:字符,必选*
C:字符
A:字母

自定义掩码在这里插入图片描述
PasswordChar指示为密码输入显示的字符,保密字符
PromptChar指示用作占位符的字符,默认是下划线
ReadOnly能否更改编辑控件中的文本
RejectInputOnFirstFailure如果为true,则只要有一个字符与掩码不符,输入文本就被拒绝;否则,文本中的每个字符按单个输入逐个处理
Text与控件关联的文本
TextAlign文本的对齐方式
TextMaskFormat从Text属性中返回字符串时是否包含原义字符和/或提示字符

3. 事件

属性解释
MaskChanged当Mask属性的值更改时发生
MaskInputRejected当输入字符或文本不符合掩码规范时发生
TextChanged在控件上更改Text属性的值时引发的事件

4. 示例

设置MaskedTextBox的 Mask 属性值为 移动电话号码:
在这里插入图片描述

在加载GUI时,初始化 MaskedTextBox 的属性:

private void FrmMaskedTextBox_Load(object sender, EventArgs e)
{
	mtxtYouBian.BeepOnError = true; // 输入错误提示音
	mtxtYouBian.CutCopyMaskFormat = MaskFormat.IncludePromptAndLiterals;
	mtxtYouBian.RejectInputOnFirstFailure = true;
	mtxtYouBian.TextMaskFormat = MaskFormat.IncludePromptAndLiterals;  // 输入文本/掩码和提示符中定义的任意文本字符
	mtxtYouBian.PasswordChar = '*';  //设置密码字符
	mtxtYouBian.PasswordChar = '\0';  //取消密码字符
}

点击按钮,将用户输入到MaskedTextBox 中的值显示到 普通文本框中:

private void button1_Click(object sender, EventArgs e)
{
	txtValue.Text = mtxtYouBian.Text;
}

运行,当输入字母时,无法输入,并响错误提示音
在这里插入图片描述
当输入数字:
在这里插入图片描述
当修改属性值 mtxtYouBian.TextMaskFormat = MaskFormat.IncludePrompt; 后,再次运行:
在这里插入图片描述
当修改属性值 mtxtYouBian.TextMaskFormat = MaskFormat.IncludeLiterals; ,Mask 属性值中加一个 ‘ / ’ 后,再次运行:
在这里插入图片描述
当修改属性值 mtxtYouBian.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals; 后,再次运行:
在这里插入图片描述

ExcludePromptAndLiterals只包含 用户输入的文本
IncludeLiterals包含 用户输入的文本 以及 掩码中定义的任意文本字符
IncludePrompt包含 用户输入的文本 以及 提示字符的任意实例
IncludePromptAndLiterals包含 用户输入的文本、掩码中定义的任意文本字符以及提示字符的任意实例

参考:2023年C#之WinForm零基础教程50讲
winform之MaskedTextBox(掩码文本控件)
Microsoft Learn / .Net / System.Windows.Forms / MaskFormat 枚举

  • 26
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值