【问题标题】:How to properly close a windows application in vb.net如何在 vb.net 中正确关闭 Windows 应用程序
【发布时间】:2013-11-13 16:36:07
【问题描述】:

我有一个 Windows 应用程序,当我关闭它时,它仍然在任务管理器的后台进程中运行。我尝试通过应用程序/关闭模式/启动表单关闭时,但我的启动表单是一个登录表单,然后将我带到具有关闭按钮的主应用程序。我也试过When last form closes这个选项,没有效果。

在这个关闭按钮上,我尝试了Me.Close().,也尝试了Application.Quit(),我都没有完全关闭我的应用程序。

如何完全终止应用程序并将其从后台服务中清除?

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    “我的启动表单是一个登录表单,然后将我带到我的主应用程序”

    您可能正在使用 Hide() 隐藏登录表单,这使应用程序保持活动状态。通过设置When last form closes 选项,您可以在显示主表单后对登录表单调用 Close()。然后它应该会正常关闭。

    【讨论】:

      【解决方案2】:

      使用Application.ExitEnd...

      【讨论】:

      • End 是最糟糕的方式
      • 您还应该记住Application.ExitEnvironment.Exit(0) 之间的区别。
      • @DonA 为什么以最糟糕的方式结束?
      • 它会立即关闭消息泵,并且不允许表单正确关闭(您可能想要运行的代码)。有更好的方法来关闭表单或关闭应用程序。 Idle_Mind 的回答是最好的,然后Application.Exit 作为最后的努力。
      【解决方案3】:

      在登录表单中

      1. 创建MainForm的实例

      2. 显示MainForm并关闭Login表单

      3. 如果您想将任何值从Login 表单传递给MainForm,请在MainForm 中创建一个公共变量。例如。 Public userAuth As String

      例子:

      Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
              Dim mf As New MainForm()
              mf.userAuth = "Admin"
              mf.Show()
              Me.Close() 
      End Sub
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-04
        • 1970-01-01
        • 2016-03-20
        • 2010-09-08
        • 1970-01-01
        • 2014-07-06
        相关资源
        最近更新 更多