我创建了一个消息框,询问用户是否要关闭应用程序。
我想出了这堂课:
Private Sub closeAll_Click(sender As Object, e As EventArgs) Handles closeAll.Click
MsgBox("Do you want to terminate the program?", MsgBoxStyle.YesNo, "Close?")
If MsgBoxResult.Yes Then
Application.Exit()
End If
End Sub
如果我选择“是”,它在成功退出应用程序时工作正常。但如果选择“否”,它仍将关闭。它真的需要一个“Else”声明吗?
如果确实如此,我不知道让程序“不做某事”的正确编码。
有人可以帮忙吗?
答案 0 :(得分:1)
MsgBox()
是一个返回结果(MsgBoxResult
枚举)的函数,因此您的代码应为:
Private Sub closeAll_Click(sender As Object, e As EventArgs) Handles closeAll.Click
If MsgBox("Do you want to terminate the program?", MsgBoxStyle.YesNo, "Close?") = MsgBoxResult.Yes Then
Application.Exit()
End If
End Sub
你写的方式是你取enum MsgBoxResult.Yes
的值并检查它是否属实。这导致隐式转换为布尔值,该值为真,因为枚举值不为零。