有没有办法在不显示 PromptChar 的情况下使用 MaskedTextBox?我想指定一个掩码来验证输入,但我不希望任何提示字符在编辑模式下占用空间。
原因是当我想接受具有有限字符集的自由文本时,所有字符都是可选的字母数字。我遇到的问题是,当我选择所有文本时,甚至选择了提示字符。
将 PromptChar 设置为 (" ") 不起作用。将其设置为零宽度空间 (\u200B) 似乎可行,但是当掩码达到一定长度时会发生奇怪的事情(13 个字符似乎是神奇的数字)。还是最好自己动手?
有没有办法在不显示 PromptChar 的情况下使用 MaskedTextBox?我想指定一个掩码来验证输入,但我不希望任何提示字符在编辑模式下占用空间。
原因是当我想接受具有有限字符集的自由文本时,所有字符都是可选的字母数字。我遇到的问题是,当我选择所有文本时,甚至选择了提示字符。
将 PromptChar 设置为 (" ") 不起作用。将其设置为零宽度空间 (\u200B) 似乎可行,但是当掩码达到一定长度时会发生奇怪的事情(13 个字符似乎是神奇的数字)。还是最好自己动手?
这是一个老问题,但希望这能帮助其他人遇到同样的问题。对我来说,在 .net 2.0 及更高版本上,有属性“HidePrompt”,将其设置为 true 会隐藏提示文本,直到您单击该字段。因此,首先将提示字符设置为空格“”,然后将“InsertKeyMode”更改为“Insert”,然后将“HidePrompt”设置为 True。将提示字符更改为空格可防止用户单击提示时看到提示,hideprompt 通常将其隐藏,插入模式将用户带到字段的开头,而不是允许他们在提示中间单击字符字段。
如何仅使用文本框,然后使用正则表达式(或其他一些验证过程)来验证控件失去焦点时文本是否有效。或者,如果这是一个 Window 的应用程序,则跳转到 TextChanging 事件(或 KeyPress)并首先阻止任何无效字符实际进入输入。
这也可以在 javascript 中为网页完成。
你检查过房产CutCopyMaskFormat
吗?
似乎它设置为 :IncludePrompt
或IncludePromptAndLiterals
.