2

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

(99)-00000000

这应该适用于澳大利亚的移动电话和区域固定电话号码

但是我遇到了一个问题,用户可以在不输入所有数字的情况下逃脱

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

那么,如果我不输入所有最后八个强制性数字,程序仍然会显示结果,例如

(03)-6474

(03)- 63799

(02)-1 38 390

4

1 回答 1

3

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

如果您不喜欢这种行为,您可以轻松地对MaskedTextBox控件进行子类化并自定义它处理键盘输入的方式。下面是几个示例控件,它们会按预期将数字从右向左推入:

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

于 2010-11-17T12:14:40.527 回答