首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让TextBox只接受字母字符?

如何让TextBox只接受字母字符?
EN

Stack Overflow用户
提问于 2011-11-30 14:14:48
回答 15查看 158.3K关注 0票数 19

如何使TextBox只接受带空格的字母字符?

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2011-11-30 14:22:20

您可以使用以下代码片段:

代码语言:javascript
复制
private void textBox1_TextChanged(object sender, EventArgs e)
{
    if (!System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text, "^[a-zA-Z ]"))
    {
        MessageBox.Show("This textbox accepts only alphabetical characters");
        textBox1.Text.Remove(textBox1.Text.Length - 1);
    }
}
票数 18
EN

Stack Overflow用户

发布于 2012-11-02 19:55:25

代码语言:javascript
复制
private void textbox1_KeyDown_1(object sender, KeyEventArgs e)
{
    if (e.Key >= Key.A && e.Key <= Key.Z)
    {
    }
    else
    {
       e.Handled = true;
    }
}
票数 5
EN

Stack Overflow用户

发布于 2011-11-30 14:37:39

最简单的方法是处理TextChangedEvent并检查输入的内容:

代码语言:javascript
复制
string oldText = string.Empty;
    private void textBox2_TextChanged(object sender, EventArgs e)
    {
        if (textBox2.Text.All(chr => char.IsLetter(chr)))
        {
            oldText = textBox2.Text;
            textBox2.Text = oldText;

            textBox2.BackColor = System.Drawing.Color.White;
            textBox2.ForeColor = System.Drawing.Color.Black;
        }
        else
        {
            textBox2.Text = oldText;
            textBox2.BackColor = System.Drawing.Color.Red;
            textBox2.ForeColor = System.Drawing.Color.White;
        }
        textBox2.SelectionStart = textBox2.Text.Length;
    }

如果你愿意,这是一个无正则表达式的版本。它会使文本框在输入错误时闪烁。请注意,它似乎也支持粘贴操作。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8321871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档