用MAXLENGTH限制不了.
一个汉字占一个长度.但占两个字节.
一个字母占一个长度.但占一个字节
System.Text.Encoding.Default.GetByteCount(this.txtInfo.text);

解决方案 »

  1.   

    function utflength(str)   
    {   
      return str.replace(/[^\x00-\xff]/g,"**").length;   
    }      
    var str = "hehe呵呵";   
    alert(utflength(str));
      

  2.   


    const int MAXBYTECOUNT = 100;private void txtInfo_TextChanged(object sender, EventArgs e)
    {
       this.txtInfo.MaxLength = (MAXBYTECOUNT - Encoding.Default.GetByteCount(this.txtInfo.Text)) / 2;
    }MAXBYTECOUNT是最大字节数
    txtInfo_TextChanged是txtInfo的TextChanged事件
      

  3.   

    用JS控制
    var txtLength = document.getElementById("TextBox1").value.length;
    if(txtLength >= 要控制的字符数)
    {
        return;
    }
      

  4.   

    自己算吧。
    不过记得InputMan v4.0 for .NET是有类似MaxByteLength属性,可以限制输入字节数,lz可以到grapecity网站找找。