如何只允许Windows窗体应用程序中的文本框中的字母?

时间:2010-03-05 18:29:30

标签: c# .net

如何在Windows窗体应用程序的文本框中允许从A到Z的字母。 C#中的源代码是什么?

5 个答案:

答案 0 :(得分:3)

在您的构造函数中或通过设计器:

textBox.KeyPress += new KeyPressEventHandler(textBox_KeyPress);

然后是事件处理程序:

private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar < 65 || e.KeyChar > 122)
    {
        e.Handled = true;
    }
}

答案 1 :(得分:0)

在离开事件处理程序中,检查字符串并显示错误或强制对焦。

答案 2 :(得分:0)

您可以在用户“完成”后验证输入,或捕获KeyPress事件并在密钥不是字母时压制事件。

答案 3 :(得分:0)

如果沿着验证路线走下去,请使用文本框的TextChanged事件来检查.text是否包含任何非A-Z字符。如果是这样,请使用ErrorProvider的.SetError方法向用户指示他们输入的内容存在问题。

    if (!Regex.IsMatch(textbox.Text, @"[a-zA-Z]"))
{
  yourErrorProvider.setError(textbox, "Only A-Z accepted.");
}

答案 4 :(得分:0)

if ((Convert.ToInt32(e.KeyChar) >= 65) && (Convert.ToInt32(e.KeyChar) <= 122))

            {
                errorProvider1.SetError(textBox1, "OK");
                errorProvider2.SetError(textBox1, "");
            }
            else
            {
                errorProvider2.SetError(textBox1, "Can not enter the numbers...");
                errorProvider1.SetError(textBox1, "");
                textBox1.Text = "";
            }