我需要配置MaskedTextBox的assets
属性以获取符合以下条件的密码:
我已经尝试将掩码设置为字符串“aaaa”,但这不起作用
答案 0 :(得分:0)
根据掩码中的MSDN(see here),a
用于可选的字母数字字符,A
用于所需的字母数字字符。
因此,以下面具适用于您:
AAAAaaaaaaaaaaa
编辑:
因此经过测试后发现这不起作用,因为用户仍然可以输入短于4个字符的文本。因此,我所知道的唯一真正的解决方案是使用Validating
事件来执行实际验证。
以下是Validating
事件的此类事件处理程序实现的示例。我还添加了一个空文本框的附加检查,以防止用户在没有输入任何值时在文本框中“锁定”。
private void maskedTextBox1_Validating_1(object sender, CancelEventArgs e) {
// Stop when empty (avoiding the user getting "locked" in the box)
if (maskedTextBox1.Text.Length == 0) return;
// Validate text, cancel when not valid and show error to user
if (maskedTextBox1.Text.Length < 4 || maskedTextBox1.Text.Length > 15) {
e.Cancel = true;
MessageBox.Show("Please enter a text of 4 - 15 characters length!");
}
}
答案 1 :(得分:0)
这有点晚了,但我想回答这个问题。
对于输入可选和所需位数的字母数字限制,您可以使用AAAaaaaa。要验证,只需检查MaskCompleted和/或MaskFull属性。 MaskCompleted将检查是否输入了所有 required 字符,MaskFull将检查是否输入了所有 required 和可选字符。你自己不需要检查长度。
所以你可以做AAAAaaaaaaaaaa,然后检查MaskCompleted是否为真。如果是这样,他们输入至少4个字符。 MaskFull会告诉你他们是否总共输了15个。