关于vb中的对话框的一个简单问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 18:44:27
有两个控件按钮分别是command1和command3其中command3是一个登陆按钮只有单击command3即登陆按钮并且输入正确的密码后,command1即输入按钮才可用,才能够输入信息,并把输入的信息添加到列表框list1中,在运行时候,要求密码只能输入三次,超过三次之后就自动退出程序,无法再进入登录系统了,我编写了一下代码,发现只要我重新点击一次登录按钮,输入密码的次数就会重新计算,那么,只要每一次输入密码次数不超过3,重新点击登录按钮又可以重新输入了,我想做到,不管是不是重新点击了登录按钮,输入密码的次数都一直增加,不会重新计算。
下面是我的代码:
Private Sub Command1_Click()
a = InputBox("请输入学生名称,输入对话框")
Do While a <> ""
List1.AddItem a
a = InputBox("请输入学生名称,输入对话框")
Loop
End Sub

Private Sub Command3_Click()
a = InputBox("请输入密码,密码输入框")
Countt = 1
Do While a <> "123456"
b = MsgBox("你输入的密码不正确", 5 + 16 + 256, "密码核对框")
If b = 4 Then
a = InputBox("请输入密码,密码输入框")
Countt = Countt + 1
ElseIf b = 2 Then
Exit Do
End If
If Countt >= 4 Then
MsgBox "输入密码次数已经超过三次"
End
End If
Loop
If a = "123456" Then
Comman

请把密码错误计数变量声明为窗体级变量或者静态变量。

下面是些建议:
1、同样的语句最好不要写两遍
2、判断的逻辑要清晰
3、变量的作用域心中要清楚

下面是我根据你的代码休改的结果,你试试看。
Dim 错误计数 As Integer

Private Sub Command1_Click()
Dim 学生信息 As String
学生信息 = 输入
Do While 学生信息 <> ""
List1.AddItem 学生信息
学生信息 = 输入
Loop
Command1.Enabled = False
End Sub

Private Sub Command3_Click()
Const 标题 = "登录"
Dim 密码 As String
Command3.Enabled = False
错误计数 = 0
Do
密码 = InputBox("请输入密码", 标题)
If 密码 = "123456" Then
Command1.Enabled = True
MsgBox "你可以输入学生信息了", vbInformation, 标题
Exit Sub
Else
错误计数 = 错误计数 + 1
If 错误计数 = 3 Then
MsgBox "你已经三次输错密码,请确认你是合法用户!" & vbCrLf & "点击“确定”按钮后将结束程序。", vbCritical,