单击“注销”按钮时,“注销”消息框出现两次

时间:2016-09-27 15:51:14

标签: vb.net messagebox

所以我想在关闭应用程序或通过单击注销按钮注销应用程序之前执行确认,或者只需单击以关闭应用程序。如果我直接关闭应用程序,那么消息框只会出现一次。但是,当我使用注销按钮时,消息框会出现两次。

所以编码基本上是这样的:

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

所以任何人都可以提供帮助吗?

1 个答案:

答案 0 :(得分:0)

在您的退出按钮事件中,单击

If logOut() Then //first line
    Me.Dispose()//second line
    frmLogIn.Show()//third line

结束如果//第四行

在你的第二行是Me.Dispose,你处理表单,换句话说你关闭它。因此,您的form_close事件将被触发,因为您处理了您的表单。这就是消息框弹出两次的原因。