切换多个表单后注销时会出现多个消息框

时间:2016-09-28 07:21:14

标签: vb.net logout messagebox

所以我从Home表单转到第二个表单,通过处理Home表单来调用Staff表单。然后我使用frmHome.ShowDialog()调用Home窗体并处理Staff窗体。我想从Home表单注销,并且多次出现注销消息框。

主页表单代码:

 Private Sub btnLogOut_Click(sender As Object, e As EventArgs) Handles btnLogOut.Click, mnuLogOut.Click
    Me.Close()
End Sub

Private Sub frmHome_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
    If logOut() Then
        Me.Dispose()
        frmLoginCKJ.Show()
    Else
        e.Cancel = True
    End If
End Sub

Public Function logOut() As Boolean
    Dim respond = MessageBox.Show("Are you sure you want to log out?", "Log Out", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If respond = DialogResult.Yes Then
        blnResult = True
    Else
        blnResult = False
    End If
    logOut = blnResult
End Function

Private Sub mnuUserCreate_Click(sender As Object, e As EventArgs) Handles mnuUserCreate.Click
    frmUserCKJ.objRole = objRole
    frmUserCKJ.objUser = objUser
    frmUserCKJ.objOrganization = getOrganization(objUser.OrganizationID)
    Me.Dispose()
    frmUserCKJ.ShowDialog()
End Sub

员工表格代码:

Private Sub btnLogOut_Click(sender As Object, e As EventArgs) Handles btnLogOut.Click, mnuLogOut.Click
    Me.Close()
End Sub

Private Sub mnuHome_Click(sender As Object, e As EventArgs) Handles mnuHome.Click
    frmHomeCKJ.objUser = objUser
    frmHomeCKJ.objRole = objRole
    Me.Dispose()
    frmHomeCKJ.ShowDialog()
End Sub

Private Sub frmHome_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
    If logOut() Then
        Me.Dispose()
        frmLoginCKJ.Show()
    Else
        e.Cancel = True
    End If
End Sub

Public Function logOut() As Boolean
    Dim respond = MessageBox.Show("Are you sure you want to log out?", "Log Out", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If respond = DialogResult.Yes Then
        blnResult = True
    Else
        blnResult = False
    End If
    logOut = blnResult
End Function

切换两个表单时没有消息框。但是当我退出时,它会多次出现在消息框中。如果我没有切换表单,那么消息框只会出现一次。如果我切换表单,则会多次出现消息框。切换表单的时间越多,出现的消息框就越多。我的代码有问题吗?

0 个答案:

没有答案
相关问题