Wpf 形式.闭幕式
我正在研究一种方法,通过提出以下问题来关闭应用程序,但它不起作用 任何帮助都很棒Wpf 形式.闭幕式,wpf,vb.net,Wpf,Vb.net,我正在研究一种方法,通过提出以下问题来关闭应用程序,但它不起作用 任何帮助都很棒 Private Sub MainWindow_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing Dim result As Integer result = MessageBox.Show("Are you want to close", "Exit", MessageBoxButton.YesNo, MessageBoxIm
Private Sub MainWindow_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
Dim result As Integer
result = MessageBox.Show("Are you want to close", "Exit",
MessageBoxButton.YesNo, MessageBoxImage.None)
If (result = DialogResult.No) Then
e.Cancel = True
Else
Application.Exit()
End If
End Sub
这应该起作用:
Private _handle As Boolean = True
Private Sub MainWindow_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
If _handle = True Then
e.Cancel = True
Dim result = MessageBox.Show("Are you want to close?", "Exit", MessageBoxButton.YesNo, MessageBoxImage.None)
If (result = MessageBoxResult.Yes) Then
_handle = False
Environment.Exit(0)
End If
End If
End Sub
好的,这个问题已经有了一个公认的答案,但我想我应该再添加一个,一行,因为OP似乎只是在做
MessageBox
检查。我觉得没有必要在关闭事件中使用布尔值或应用程序.Exit()
环境.Exit(0)
Private Sub MainWindow_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
If Not MessageBox.Show("Are you sure you want to close?", "Exit", MessageBoxButton.YesNo, MessageBoxImage.None) = MessageBoxResult.Yes Then e.Cancel = True
End Sub
这里的代码中有一些错误。无论如何,如果启动窗体是main window
,请删除Application.Exit()
部分,并在项目程序中将关闭模式设置为上次窗体关闭时的。否则,该消息将显示两次。好的,谢谢@Jimi,这已修复,但现在问题是DialogResult。否给我一个错误,表示“否”不是“布尔”的成员。您的代码应该是:If MessageBox.Show(“是否要关闭?”,“退出”,MessageBoxButtons.YesNo,MessageBoxIcon.None)=DialogResult.No然后e.Cancel=如果
,则为真结束。但是,这里有人在回答。看到代码了吗。哇,非常感谢@到处都是乱七八糟的东西!来吧,玛丽,别让我吊死。。。解释该评论。如果不是MessageBox.Show(“您确定要关闭吗?”,“退出”,MessageBoxButtons.YesNo,MessageBoxIcon.None)=DialogResult.Yes然后e.Cancel=True
是这是我的答案。你想辩论吗?不,这不是你的答案。你的答案不正确。魔鬼在于细节。