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