いくつかのマスクされたテキストボックスが追加され、それらのプロパティが設定された動的に作成されたフォームがあります(以下のコードのように)。
10文字が必要な場合、コードは入力されたテキストの長さが10であるかどうかを検証する必要があります。ただし、ユーザーはこれらの10文字を構成するために最初または最後にスペースを入力できます。
マスクされたテキストボックスはそれらを保持していないようです、または少なくとも私がプロパティを設定した方法ではそれらを保持していません(多分b / c私は「C」を設定していますか?)
これを可能にするために、プロパティに誤って設定されている可能性があります...withAllowPromptAsInput
や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;
}