У меня есть форма, которая динамически создается с добавлением ряда маскированных текстовых полей и их набором свойств (как в приведенном ниже коде).
Если требуется 10 символов, код должен проверить, равна ли длина введенного текста 10. Но пользователю разрешено вводить пробелы в начале или в конце, чтобы составить эти 10 символов.
Maskedtextbox, похоже, не сохраняет их, или, по крайней мере, то, как я настроил свойства, не сохраняет их (может быть, потому что у меня установлен «C»?)
Возможно, у меня просто что-то неправильно установлено в свойствах... например, с AllowPromptAsInput
или TextMaskFormat
или каким-то другим свойством, чтобы разрешить это.
Также я не хочу использовать пробел в качестве «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;
}