隐藏.NET的MaskedTextBox的PromptChar

隐藏.NET的MaskedTextBox的PromptChar,.net,winforms,user-interface,maskedtextbox,.net,Winforms,User Interface,Maskedtextbox,有没有一种方法可以在不显示PromptChar的情况下使用MaskedTextBox?我想指定一个掩码来验证输入,但我不希望任何提示字符在编辑模式下占用空间 这样做的原因是当我想要接受有限字符集的自由文本时,所有字符都是可选的字母数字。我的问题是,当我选择所有文本时,即使是提示字符也会被选中 将PromptChar设置为无效。将其设置为零宽度空格\u200B似乎可行,但当掩码达到一定长度时,会发生奇怪的事情13个字符似乎是神奇的数字。还是最好自己滚动?使用文本框,然后使用正则表达式或其他验证过程

有没有一种方法可以在不显示PromptChar的情况下使用MaskedTextBox?我想指定一个掩码来验证输入,但我不希望任何提示字符在编辑模式下占用空间

这样做的原因是当我想要接受有限字符集的自由文本时,所有字符都是可选的字母数字。我的问题是,当我选择所有文本时,即使是提示字符也会被选中


将PromptChar设置为无效。将其设置为零宽度空格\u200B似乎可行,但当掩码达到一定长度时,会发生奇怪的事情13个字符似乎是神奇的数字。还是最好自己滚动?

使用文本框,然后使用正则表达式或其他验证过程来验证控件失去焦点时文本是否有效。或者,如果这是一个窗口的应用程序,跳转到文本更改事件或按键,首先停止输入中的任何无效字符


这也可以在网页的javascript中完成。

是否检查了属性


似乎设置为:IncludePrompt或IncludePromptAndLiterals。

这是一个老问题,但希望这能帮助其他人在同样的问题上遇到困难。
对于我来说,在.NET2.0及更高版本中有一个属性“HidePrompt”,将其设置为true将隐藏提示文本,直到单击该字段。因此,首先将提示字符设置为空格,然后将“InsertKeyMode”更改为Insert,然后将“HideCompt”设置为True。将提示字符更改为一个空间可以防止提示在用户单击时被提示,隐藏提示一般隐藏它,插入模式将用户带到字段的开始,而不是让它们在提示字符字段的中间点击。我希望使用MaskedTextBox,因为它有更多的功能,更灵活。当然,一个快速的解决方案也同样有效。如果您在双精度上进行验证,这不会隐藏小数点。