小弟 做了一个图书管理系统 在登陆的时候有一个登陆对话框 可是点右上角的叉也能进住界面怎么改啊 还有就是如何实现连续三次输入密码错误就推出系统啊 多谢了

解决方案 »

  1.   

    1.点击叉:Form有个QueryUnload事件Private Sub Form_QueryUnload(cancel As Integer, unloadmode As Integer)中有UnloadMode参数
    vbFormControlMenu 0 用户从窗体上的“控件”菜单中选择“关闭”指令。 
    vbFormCode 1 Unload 语句被代码调用。 
    vbAppWindows 2 当前 Microsoft Windows 操作环境会话结束。 
    vbAppTaskManager 3 Microsoft Windows 任务管理器正在关闭应用程序。 
    vbFormMDIForm 4 MDI 子窗体正在关闭,因为 MDI 窗体正在关闭。 
    vbFormOwner 
    在为vbFormControlMenu 时,将Cancel参数设为1
    2.连续三次: 
    设置一窗体级变量m_nFailedTimes,失败一次就将m_nFailedTimes加1,在再次失败并且nFailedTimes>3
    时退出系统(END)
      

  2.   

    如果要不显示关闭按钮,在设计状态下将其ControlBox设为False(注:该属性运行时只读,运行
    状态下不可更改,如果用VC的话是可以通过修改CS更改的)
      

  3.   

    还有就是如何实现连续三次输入密码错误就推出系统啊Private Sub Cmd_OK_Click()
      Dim j As Single
      
      If txtPwd = "" Then
        MsgBox "请输入密码"
        txtPwd.SetFocus
        Exit Sub
      End If
     
      NameKey = MakeStr(txtUser)
      PasswordKey = MakeStr(txtPwd)
       
    '判断用户是否存在
      If MyUser.In_DB(NameKey) = False Then
        MsgBox "用户名不存在"
        Try_times = Try_times + 1
        If Try_times >= 3 Then
          MsgBox "您已经三次尝试进入本系统,均不成功,系统将关闭"
          DBapi_Disconnect
          End
        Else
          Exit Sub
        End If
      End If'判断密码是否正确
      MyUser.GetInfo (NameKey)
      If MyUser.Pwd <> PasswordKey Then
        MsgBox "密码错误"
        Try_times = Try_times + 1
        If Try_times >= 3 Then
          MsgBox "您已经三次尝试进入本系统,均不成功,系统将关闭"
          DBapi_Disconnect
          End
        Else
          Exit Sub
        End If
      End If
      

  4.   

    我找不到Private Sub Form_QueryUnload(cancel As Integer, unloadmode As Integer)事件啊还有就是我这么写的三次错误输入退出的对吗?不对的话怎么改啊 多谢老兄micount = micount + 1   '&frac14;&Ccedil;&Ocirc;&Oslash;&Ecirc;&auml;&Egrave;&euml;&Atilde;&Uuml;&Acirc;&euml;&acute;&Icirc;&Ecirc;&yacute;
        If micount = 3 Then
          Me.Hide
        End If
        Exit Sub
      

  5.   

    直接把登陆窗口的borderstyle设为0就可以了。
      

  6.   

    这完全是你没有把验证的流程弄清楚,验证通过就可以设置一个标记,在FORMUNLOAD里判断该标记,合格就进入其他FORM,不合格就退出,上面怎么说一大堆QUERYUNLOAD事件里怎么做、或者不显示关闭图标,简单问题复杂化,文不对题!
      

  7.   

    可是点右上角的叉也能进住界面?
      难道界面是父窗体,登陆是子窗体吗?你是不是搞错启动窗体了,不然关闭窗体主界面也能出来?不可能的吧?
       在判断密码是否正确的时候,
               IF 密码正确  THEN
                  进入主界面
               ELSE 
                   I=I+1
                   IF I=3 THEN 退出窗体
               EDNIF
      

  8.   

    在登陆的时候有一个登陆对话框 可是点右上角的叉也能进住界面怎么改啊界面一上来就 
    Private Sub Form_Load()
    Me.Visible = False
    End Sub
    然后再进行判断使其
    Visible = True
    最简单了吧
      

  9.   

    1.加以下代码
    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        If UnloadMode = vbAppTaskManager Or UnloadMode = vbFormControlMenu Then
            End
        End If
    End Sub
    2.
    Private Sub Command1_Click(Index As Integer)
        Dim mTryTime As Integer
                判断是否有正确的密码
                mTryTime = mTryTime + 1
                If 密码正确 Then
                    进入
                    mTryTime = 0                
                Else
                    '显示输入错误第几次!                
                    lbErr.Caption = "输入错误 " & mTryTime & " 次"
                    If mTryTime > 2 Then
                        MsgBox "三次错误输入,系统不能登录!"
                        End
                    End If
                End If
    End Sub