有没有办法在不显示 PromptChar 的情况下使用 MaskedTextBox?我想指定一个掩码来验证输入,但我不希望任何提示字符在编辑模式下占用空间。
这样做的原因是当我想接受具有有限字符集的自由文本时,所有字符都是可选的字母数字。我遇到的问题是,当我选择所有文本时,甚至选择了提示字符。
将 PromptChar 设置为 ("") 不起作用。将其设置为零宽度空间 (\u200B) 似乎可行,但是当掩码达到一定长度(13 个字符似乎是魔数(Magic Number))时会发生奇怪的事情。或者最好只推出我自己的?
最佳答案
这是一个老问题,但希望这会帮助其他人在同一问题上绊倒。
对我而言,.net 2.0 及更高版本有属性“HidePrompt”,将其设置为 true 会隐藏提示文本,直到您单击该字段。因此,首先将提示字符设置为空格“”,然后将“InsertKeyMode”更改为“Insert”,然后将“HidePrompt”设置为 True。将提示字符更改为空格可以防止用户点击提示时看到提示,hideprompt 一般隐藏它,插入模式将用户带到字段的开头,而不是允许他们在提示中间点击字符字段。
关于.net - 为 .NET 的 MaskedTextBox 隐藏 PromptChar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1459797/