无限制蒙版的文本框
本文关键字:文本 无限制 | 更新日期: 2023-09-27 18:03:09
我有一个遮罩文本框,用户只允许输入字母和数字。
但是我怎样才能使要输入的字母数量不受限制,从而可以输入任意数量的字母而不受掩码的限制呢?
nameTextBox.ValidatingType = typeof(System.Char);
nameTextBox.TypeValidationCompleted += new TypeValidationEventHandler(nameTextBox_TypeValidationCompleted);
MaskedTextBox不支持MaxLength属性,如下所述。您必须指定具有特定长度的掩码,例如' llllll '用于任何5个字符。如果您想要任意长度,您可能必须使用常规的TextBox,并为valididating和TextChanged连接事件处理程序。为了给用户反馈,您可以在文本框旁边添加一个标签,其中包含有关有效字符的信息,以及当前是否有效。
对于一个快速而肮脏的解决方案,您可以尝试这样做:
private void TextBox_TextChanged(object sender, EventArgs e)
{
var originalText = myMaskedTextBox.Text;
var parsedText = Regex.Replace(myMaskedTextBox.Text, "[^a-z_A-Z]", "");
if (originalText == parsedText)
labelInfo.Text = "Valid string";
else
{
myMaskedTextBox.Text = parsedText;
labelInfo.Text = "Only alpha-numeric characters please";
}
}