日期:2014-05-17  浏览次数:20941 次

textbox的keypass事件中获取输入的text,外加正则匹配
我想实现这样的功能,一个文本框只能输入英文,不能输入其他字符,我在txt的keypass事件里写的,但是获取text的时候获取的是第2次输入的值,这是为什么啊,
我的正则是 @"^\w$",球高手解答,谢拉,急急急

------解决方案--------------------

        private void txtcontent_KeyUp(object sender, KeyEventArgs e)
        {
            txtcontent.Text = Regex.Replace(txtcontent.Text, "[^a-zA-Z]", "");
        }

------解决方案--------------------
(e.KeyChar>=65&&e.KeyChar<=90)
------解决方案--------------------
(e.KeyChar>=97&&e.KeyChar<=122)

引用:
引用:C# code
?



12345

        private void txtcontent_KeyUp(object sender, KeyEventArgs e)         {             txtcontent.Text = Regex.Replace(txtcontent.Text,……


你是想要这个吧,那根本用不到正则

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!((e.KeyChar>=65&&e.KeyChar<=90)
------解决方案--------------------
(e.KeyChar>=97&&e.KeyChar<=122)))
            {
                e.Handled = true;
            } 
        }

------解决方案--------------------
引用:
引用:引用:
C# code?12string numStr = txtCompanyName_En.Text.Substring(0, txtCompanyName_En.SelectionStart) + e.KeyChar.ToString() + txtCompanyName_En.……

怎么会你看8楼,或者还是直接
            if (e.KeyChar != 8 && !Char.IsLetter(e.KeyChar))
            {
                e.Handled = true;
            }