用于字母数字的蒙面TextBox输入验证

时间:2013-03-10 17:47:10

标签: c# .net winforms

我使用了以下网站:http://msdn.microsoft.com/en-us/library/kkx4h3az.aspx 验证输入8位数字,

然后我尝试以这种方式验证,以便只允许将字母数字(字母)值输入到文本框中,但它不起作用。

您是否必须使用其他方法仅允许字母?如果是这样的话?

感谢

2 个答案:

答案 0 :(得分:0)

这是不是我的头脑,但它应该让你开始...这似乎是一个常见的问题。如果这不起作用,那么继续搜索SO,你会找到答案。

 Regex regex = new Regex("[a-zA-Z]");
 Match match = regex.Matches(textBox1.Text);

答案 1 :(得分:0)

首先,字母数字表示字母数字。如果您只想要字母,则必须在掩码中使用“L”。请参阅 this link 以供参考。

或者,您可以在文本更改事件中检查输入。这也适用于传统的 TextBox(对于蒙版文本框,您必须将 TextBox 更改为 MaskedTextBox)。见下面的代码:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    TextBox tb = sender as TextBox;
    if (!tb.Text.All(char.IsLetter))
    {
        MessageBox.Show("Only Letters are allowed.", "Invalid Input", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        tb.SelectAll();
    }
}

代码需要 using System.Linq;