所以我想在关闭应用程序或通过单击注销按钮注销应用程序之前执行确认,或者只需单击以关闭应用程序。如果我直接关闭应用程序,那么消息框只会出现一次。但是,当我使用注销按钮时,消息框会出现两次。
所以编码基本上是这样的:
Private Sub btnLogOut_Click(sender As Object, e As EventArgs) Handles btnLogOut.Click
If logOut() Then
Me.Dispose()
frmLogIn.Show()
End If
End Sub
Private Sub frmHome_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
If logOut() Then
Me.Dispose()
frmLogIn.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 :(得分:0)
在您的退出按钮事件中,单击
If logOut() Then //first line
Me.Dispose()//second line
frmLogIn.Show()//third line
结束如果//第四行
在你的第二行是Me.Dispose,你处理表单,换句话说你关闭它。因此,您的form_close事件将被触发,因为您处理了您的表单。这就是消息框弹出两次的原因。