文本框最多录入8个汉字
如果是数字的话,若是两个连续的数字,则两个算一个全角。
若是单个的数字,则补上一个空格,凑成一个全角。
比如我输入 “秦皇岛-沈阳北03”这算是8个汉字。但如果我用键盘上的删除键删掉3后,我希望键盘再录入数字时允许录入,但录入汉字时不允许录入1.我怎样知道键盘删除键删除的是汉字还是数字?
2.我怎么限制文本框中只能录入16个字节?我现在是如果是数字,计数就+1,否则+2。但删除的时候我不知道怎么判断删除的是什么。请高手指教一下,谢谢。

解决方案 »

  1.   

    思路:根据中文的asc码都小于0 的原理 在向文本框按下的 keyascii码进行判断
    例题: text1*1 
    代码:Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = 8 Then KeyAscii = 8: Exit Sub
    Static a As Integer
    a = 0
    For i = 1 To Len(Text1)
        If Asc(Mid(Text1, i, 1)) > 0 Then a = a + 1 Else a = a + 2
    Next i
    If a >= 16 Then KeyAscii = 0
    If a > 16 Then KeyAscii = 8End Sub
    -------------------
    以上程序针对你的这个题目:秦皇岛-沈阳北03
    最后的判断 a >=16 是你的限制 当然还可以改成其他限制
    **********楼主好小气啊 才给10 分.....cike技术交流群 16874787
      

  2.   

    LZ 你说解决不了?  实验过了的  说说you解决的方法!