C# WinForm —— 17 MaskedTextBox 介绍

admin2024-05-15  1

1. 简介

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

2. 常用属性

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

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

3. 事件

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

4. 示例

设置MaskedTextBox的 Mask 属性值为 移动电话号码:
C# WinForm —— 17 MaskedTextBox 介绍,在这里插入图片描述,第4张

在加载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 = ';'//取消密码字符  }
private

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

void button1_Click (object, senderEventArgs ) e.
{
	txtValue=Text . mtxtYouBian;Text}
mtxtYouBian.TextMaskFormat = MaskFormat.IncludePrompt;

运行,当输入字母时,无法输入,并响错误提示音
C# WinForm —— 17 MaskedTextBox 介绍,在这里插入图片描述,第5张
当输入数字:
C# WinForm —— 17 MaskedTextBox 介绍,在这里插入图片描述,第6张
当修改属性值 mtxtYouBian.TextMaskFormat = MaskFormat.IncludeLiterals; 后,再次运行:
C# WinForm —— 17 MaskedTextBox 介绍,在这里插入图片描述,第7张
当修改属性值 mtxtYouBian.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals; ,Mask 属性值中加一个 ‘ / ’ 后,再次运行:
C# WinForm —— 17 MaskedTextBox 介绍,在这里插入图片描述,第8张
当修改属性值 后,再次运行:
C# WinForm —— 17 MaskedTextBox 介绍,在这里插入图片描述,第9张

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!