急需帮助!怎样实现在TextBox中限制中文状态下的‘-’字符,谢谢大家了,很急啊!
就是输入‘-’字符时,中文输入法属于屏蔽状态哦!

解决方案 »

  1.   

    简单一点,在change事件里如果检测到有中文的“-”,就替换成英文的不就得了
      

  2.   

    你在textBox的TextChanged事件中写以下代码试试看
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                if (textBox1.Text.IndexOf('-') >= 0)
                {
                    textBox1.Text = textBox1.Text.Replace('-', '!');
                    textBox1.Select(textBox1.Text.Length, textBox1.Text.Length);
                }
            }
    或者这样也行
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
               if (textBox1.Text.IndexOf( (char)65293 ) >= 0) //(char)65293也可以代表"-"
                {
                    textBox1.Text = textBox1.Text.Replace((char)65293, '!');
                    textBox1.Select(textBox1.Text.Length, textBox1.Text.Length);
                }
            }
      

  3.   

    噢,注意我上面代码里的横杠是中文"-",不要打错了哦,这样做以后,一旦在textBox中输入中文横杠就会自动替换为感叹号