注册 登录
编程论坛 VB6论坛

请高手帮忙分析解决一个VB的问题

hjl_zy 发布于 2012-06-25 16:58, 404 次点击
我做了家庭财务管理系统的小作业,在创建用户form4窗口的输入密码的文本框有如下代码,另两个按钮“重新输入”和“返回”,代码如下。
程序代码:
密码文本框代码

Private Sub Text3_LostFocus()        文本框失去焦点时如果输入密码小于6位时弹出警告并返回焦点到文本框
If Len(Text3.Text) < 6 Then
MsgBox "密码必须为六位以上", vbExclamation, "警告"
Text3.Text = ""
Text3.SetFocus
End If
End Sub

重新输入按钮代码      
Private Sub Command2_Click()                  清空文本框焦点返回到text1
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text1.SetFocus
End Sub
返回按钮代码
Private Sub Command3_Click()                     返回到主界面
Form4.Hide
Form2.Show
End Sub

现在出现问题,当密码文本框长度不够6位时,单击“重新输入”和“返回”按钮都会发生文本框下代码的作用,无法实现两个按钮的原作用,应该怎么做才能使这两个按钮在密码小于6位的情况下也能起到它应有的作用?


请高手解答啊
1 回复
#2
积善门徒2012-06-25 17:38
VB中LostFocus事件和一个GotFocus事件,看名字似乎是当当前窗口失去焦点或得到焦点时触发的事件。
但在实际应用时并没有触发这两个事件。尤其在多窗口应答方面。

在编写“失去焦点”和“得到焦点”的代码时,不要使用VB本身自带的函数,如: MsgBox()和Print()等
如果必须使用,可用MessageBox()、TextOut()等API函数来代替

不才无聊,请大神门指点,受教!

[ 本帖最后由 积善门徒 于 2012-6-25 17:40 编辑 ]
1