vb.net中的Form_Closing事件发起两次

时间:2014-03-03 00:39:25

标签: vb.net

我正在vb.net(vs2010)中开发一个简单的应用程序。我正在以下列方式使用Form_Closing事件:

Private Sub frmPrincipal_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    If MessageBox.Show("Quit", "Are you sure?", _
           MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
         Me.Close()
    Else
         e.Cancel = True
    End If
End Sub

此代码显示一个对话框,询问用户是否确实要离开应用程序。 答案是'不',它工作正常,但如果答案是'是',似乎事件Form_Closing再次启动,同样的对话框再次显示,询问用户是否真的要退出应用程序。 ..应用程序不评估第二个对话框中的答案,这意味着应用程序将在第二个对话框后结束。

我的问题是,当用户选择“是”时,如何避免第二个对话框?

此致 丹尼尔。

2 个答案:

答案 0 :(得分:3)

您不需要再次拨打Close()

答案 1 :(得分:0)

您已经关闭了表格并再次按下同样按下是,以代替

Me.Close

使用

End