页面上有3个文本框。
maxlength都设置成了3位,只允许录入英文和数字。怎么实现:
1,正常用手输入的时候。
在第一个textbox里输入满3位时,焦点(focus)自动跳到第二个textbox,第二个textbox满3位时,焦点自动跳到第三个textbox。2,用户可能是用扫码器操作。被扫的码长度就是9位。
当焦点在第一个textbox上时,扫一下条形码,怎么实现按3位截取,依次把数据放到3个textbox中

解决方案 »

  1.   

    本帖最后由 bcrun 于 2012-07-20 09:24:58 编辑
      

  2.   

    第一个问题,超简单,第一个文本框(假设叫做Text1)要满了三个位就跳到第二个文本框(假设叫做Text2),……后面我就不写了,只写Text1跳到Text2的:Private Sub Text1_Change()
    if Len(Text1.Text)=3 Then '满3个位
       Text2.SetFocus'调用SetFocus方法设置焦点
    End if
    End Sub
    而第二个问题也不难,当然,我假设用户扫描到的码放在全局的User变量里,并且当用户的值读取到User变量之后GetValue函数就发生:Dim User As Double ’全局的User变量,储存着用户读进来的9位数字
     
    Private Sub GetValue()
       Text1.Text = Left(User,3) '将User变量里面的数字当成字符串来处理,截取左边3位
       Text2.Text = Mid$(User,4,3) '将User变量里面的数字当成字符串来处理,从第4位开始截取3位得到中间的3个数
       Text1.Text = Right(User,3) '将User变量里面的数字当成字符串来处理,截取右边3位
    End Sub