当把text控件的maxlength属性设置为10时,
限制文本框中最多只能输入10个字符吗,
也就是可以输入10个汉字或者20个数字或字母吗?
但是现在怎么试可以输入10个汉字或者10个数字或字母呢?这是怎么回事?求大侠指点指点?我如果想实现文本框中只能输入10个汉字或者20字母数字应该怎么设置啊?
通过代码实现也可以!谢谢了!

解决方案 »

  1.   

    在VB6下10汉字与10个字母的len长度是一样的。
      

  2.   

    如果你实现想分开,可考虑lenb
      

  3.   

    结合textbox的KeyPress和change事件与lenb函数
      

  4.   

    MaxLength 指字符数!
    谁告诉你是字节数的?
      

  5.   

    [Quote=引用 9 楼 vbwenwen 的回复:]
    一个字符不也是占两个字节吗?
    在半角时:1个汉字=两个字节=1个字符
              2个数字=2个字节=1个字符
    要是maxlength=10的不就是可以输入10个汉字,或者是20个数字吗?
    这样理解对吗?
      

  6.   

    maxlength计算的字符数,不是字节数。
      

  7.   

    由于maxlength设置的是字符数,所以10个汉字和10个字母都是10个字符,如果你想实现限定字节的效果,那么可以把这个属性限制为最大的字节数,也就是20,然后在textbox的textchange事件里去判断已录入的文本字节数LenB是否超过maxlength限制,这样达到限定按照字节计算的目的。
      

  8.   

    Private Sub Text1_Change()
        If (LenB(StrConv(Text1, vbFromUnicode)) >= 20) Then Text1.Text = Left$(Text1, Len(Text1) - 1)
    End Sub
      

  9.   

    把上面的 >=  改成 >