注册 登录
编程论坛 VB6论坛

VB 文本框的问题

qdjmxin 发布于 2014-11-18 17:14, 485 次点击
在窗体里面有多个文本框,有的文本框只需要录入数字(数字、小数点),有的文本框需要录入日期,怎样能限制录入想要的数据类型?
怎样使回车后焦点进入到下一个文本框?录入数字文本框时,如果里面有小数点如果再录小数点怎样将光标直接移动到小数点后面。我是VB除学者,
请各位高手指教一下,谢谢了。
1 回复
#2
yangfrancis2014-11-20 17:03
要求太高了,还要把光标定位到文本中的一个具体位置。恐怕不太容易实现。让它在输入错误的时候弹出对话框报错再清空对话框不是更好写吗?
dim NumDot as integer
for i=1 to Len(txtInput.text)
   select case Mid(txtInput.text, i, 1)
   case "1","2" ,"3","4","5","6","7","8","9","0","."
       if Mid(txtInput.text, i, 1)="." then
            NumDot=NumDot+1
            if NumDot>1 or (i=1 or i=Len(txtInput.text)) then
                 Msgbox "输入有误!", vbOKOnly, "提示"
                 txtInput.text=""
                 txtInput.SetFocus
                 NumDot=0   
             end if
        else
             if i=Len(txtInput.text) then
                   txtInput_2.SetFocus'焦点到下了个文本框
             end if
        end if
   case else
       Msgbox "输入有误!", vbOKOnly, "提示"
       txtInput.text=""
       txtInput.SetFocus
       NumDot=0
   end select
next i

   另外,如果多个文框都有小数点问题,可以把NumDot做成数组,分别监视各个文本框的小数点数量
1