我有一个动态创建的表单,其中添加了许多 maskedtextboxes 并设置了它们的属性(如下面的代码所示)。
如果需要 10 个字符,则代码需要验证输入的文本长度是否为 10。但允许用户在开头或结尾输入空格以弥补这 10 个字符。
maskedtextbox 似乎没有保留这些,或者至少我设置属性的方式没有保留它们(也许 b/c 我设置了“C”?)
我可能只是在属性中设置了一些不正确的东西......比如 with AllowPromptAsInput
orTextMaskFormat
或其他一些属性,以允许这样做。
此外,我不想使用空格作为“PromptChar”,因为我希望用户看到要输入的字符数。
private void SetupMaskedTextBox(int allowedChars)
{
const char promptCharSquare = '\u25A1';
maskedTextBox.PromptChar = promptCharSquare;
string msk = null;
for (int i = 0; i < allowedChars; i++) {
msk += "C";
}
maskedTextBox.Mask = msk;
maskedTextBox.AllowPromptAsInput = true;
maskedTextBox.TextMaskFormat = MaskFormat.IncludePromptAndLiterals;
}