使用蒙版文本框验证输入

时间:2010-11-17 11:51:37

标签: c# .net winforms validation maskedtextbox

您好我正在使用以下掩码字符串以确保用户输入有效的电话号

(99)-00000000

适用于澳大利亚的移动设备和区域固定电话号码

但是我遇到了一个问题,即用户可以在不修改所有数字的情况下离开

据我所知,9表示0到9之间的可选数字,0代表0到9之间的必需数字

那么,如果我不输入所有最后八个必修数字,程序仍会显示

的结果

(03)-6474

(03) - 63799

(02)-1 38 390

1 个答案:

答案 0 :(得分:3)

因为它只是在您键入时从左到右填充空白。即使前两位数字是可选的,它也会填充它们,就像您输入前两个数字一样你输入。

如果你不喜欢这种行为,你可以轻松地对MaskedTextBox控件进行子类化,并自定义它如何处理键盘输入。以下是一些示例控件,可以使数字从右向左推入,如预期的那样:

(我认为第二个例子可以更好地解释对基本控件进行了哪些更改,而且它允许您在不下载示例项目的情况下查看大部分相关代码。)