C# 如何让textbox控件中只能输入4个汉字或者8个英文字母?
在此,我不得不补充一点:问题是:汉字4个,英文字母8个,不是只能输入汉字或者字母。我已经实现了只能输入汉字或者字母了,但是汉字和字母无法区分,就是说汉字也是字母...这是我的代码:  
private void limit()
{
  bool Ischar = false;
  int  temp = 0;
  char[] crletter = {'a','b','c','d','e','f','g','h','i','j',
                     'k','l','m','n','o','p','q','r','s','t',
                    'u','v','w','x','y','z','A','B','C','D',
                    'E','F','G','H','I','J','K','L','M','N',
                    'O','P','Q','R','S','T','U','V','W','X',
                    'Y','Z'};
char[] crtextbox = textBox1.Text.ToString().Trim().ToArray();  
    foreach(char ch in this.textBox1.Text)
    {
      if(IsLetter(ch))
      {
        Ischar = true;
      }
      else
      {
       Ischar = false;
      }  
    }
   for(int i=0;i<crletter.Length;i++)
        {
          for(int j=0;j<crtextbox.Length;j++)
           {
             if(crletter[i] == crtextbox[j])
             {
               temp++;
             }
             else
             {
               temp = 0;
             }
           }
        }  
   if(Ischar == true && temp != 0)
    {
      textBox1.MaxLength = 8;  
    }
   else if(Ischar == true && temp == 0)
    {
      textBox1.MaxLength = 4;
    }
   else
   {
    MessageBox.show("只能为字母或者汉字!");
   }
}  
但是,只要是汉字或者英文字母都是进入
if(crletter[i] == crtextbox[j])
             {
               temp++;
             }
让temp不等于零,也就是说汉字和字母是一样的,这该怎么办呢?
------解决方案--------------------我的方法比较笨
加个标识符
int a=0;
for(int i=0;i<textBox1.Text.Leng;i++)
{
if(((int)textBox1.Text[i]) > 255) a+=2;
else a++;
}
再后面判断a是否大于8
大于8就取消那次按键操作
------解决方案--------------------用字符串的字节长度来控制就好了。代码如下
int t = Encoding.UTF8.GetByteCount(textBox1.Text);
if(t>8)
MessageBox.Show("最多只能输入4个汉字或者八个字母");
这样可以实现汉字字母混合输入