【问题标题】:How do I exit my program on OK button?如何在 OK 按钮上退出我的程序?
【发布时间】:2014-01-05 04:44:25
【问题描述】:

我有一个名为 exit 的按钮,它调用一个消息框,要求使用 vbOKCancel 进行确认。当用户按 OK 时如何让程序退出?

这是我目前拥有的:

Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles EditGoals.Click
    GoalCountdown.Text = "Congratulations"
End Sub

Private Sub ExitProgram_Click(sender As Object, e As EventArgs) Handles ExitProgram.Click
    If MsgBox("Are you sure you want to exit?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
        Exit Sub



        End If
End Sub

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

End Sub
End Class

谢谢!

【问题讨论】:

    标签: vb.net winforms exit


    【解决方案1】:

    Application.Exit() 用于 .NET Windows 窗体应用程序:

    Private Sub ExitProgram_Click(sender As Object, e As EventArgs) Handles ExitProgram.Click
        If MsgBox("Are you sure you want to exit?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
            Application.Exit()
        End If
    End Sub
    

    【讨论】:

      【解决方案2】:

      理想情况下,您希望避免粗暴地退出您的应用程序,但 End 可以解决问题。

      我的意思是您可以在按钮的单击事件的处理程序中调用End,但更好的方法是尝试优雅地关闭您正在使用 vbscript 的任何应用程序(即,如果它是在其中运行的 VB 脚本一个 Access 数据库应用程序,那么您可能希望在主 Access 应用程序对象上调用 Close 方法。

      【讨论】:

        【解决方案3】:

        Application.exit确实是正确的,但是如果你用红色的X关闭表单,你也可以使用e.cancel = false关闭它。

        Private Sub Form1Close(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
            Dim Result As DialogResult
            If Result = Windows.Forms.DialogResult.OK Then
                e.Cancel = False
            ElseIf Result = Windows.Forms.DialogResult.Cancel Then
                e.Cancel = True
            End If
        End Sub
        

        --

        Private Sub Form1Close(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
            Dim Result As DialogResult
            If Result = Windows.Forms.DialogResult.OK Then
                Application.Exit()
            ElseIf Result = Windows.Forms.DialogResult.Cancel Then
                e.Cancel = True
            End If
        End Sub
        

        【讨论】:

          猜你喜欢
          • 2019-12-22
          • 2014-08-26
          • 2019-04-07
          • 1970-01-01
          • 2019-06-17
          • 1970-01-01
          • 1970-01-01
          • 2011-07-21
          • 2012-11-10
          相关资源
          最近更新 更多