为什么MaskedTextBox上的Mask不起作用?

时间:2014-09-11 16:24:34

标签: c# .net

我想要一个强制输入数字:数字的掩码,两边都有额外的可选数字。例子:
1:2
123:1234

所以我输入的面具是
099\:0999
我希望这应该是指“必需的数字,后跟两个可选数字,后跟文字:,后跟一个必需的数字,后跟任意三个可选数字”。

然而,在测试掩码时,程序会愉快地接受空格来代替数字,所以我很容易以:2之类的东西结束。 MaskInputRejected Event也不会被提升。

我做错了吗?我理解,对于9,空格是有效输入,但对于0,我希望数字是必需的,并且空格无效。

1 个答案:

答案 0 :(得分:1)

这似乎是控件中的错误或文档中的错误。掩码中的0仍然允许空格。这篇文章将帮助您防止用户输入空格。

MSDN: How to disable the space bar in maskedTextBox?

相关代码是......

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == ' ' ) e.KeyChar = (char)0;
}