【问题标题】:VB.NET Application does not fully closeVB.NET 应用程序未完全关闭
【发布时间】:2009-11-18 23:44:12
【问题描述】:

当我启动我的应用程序,并按下我的应用程序上的“X”按钮,或部署的退出按钮时:me.close 它不会完全关闭应用程序。就像该实例仍在 Visual Studio 中运行一样,或者如果您转到任务管理器进程,您仍然可以在那里看到它。我怎样才能让它完全关闭?

【问题讨论】:

    标签: vb.net visual-studio-2008 terminate


    【解决方案1】:

    如果您确实在应用程序中运行了线程,请将IsBackground 属性设置为True

    MSDN 上的Thread.IsBackground Property

    备注

    线程要么是后台线程 或前台线程。背景 线程与前台相同 线程,除了那个背景 线程不会阻止进程 终止。一旦所有前景 属于一个进程的线程有 终止,共同语言 运行时结束进程。任何 剩余的后台线程是 已停止且未完成。

    【讨论】:

      【解决方案2】:

      一种可能性是除了主线程之外还有一些线程在运行,而这些线程不是后台线程。一般来说,尝试调试它:从 VS 附加到它,然后使用暂停按钮来中断它,然后查看那里有哪些线程,以及它们在做什么。

      【讨论】:

      • 我的意思是有没有一种快速简便的方法来解决这个问题,通过结束整个过程而不是进行所有的挖掘?
      • 修复它的唯一方法是找出问题所在。如果您有一些线程仍在运行,那么终止进程而不考虑该线程可能会导致数据丢失(例如,如果它当时正在写入文件怎么办)和其他令人讨厌的副作用。也就是说,如果您想要的是 hack 而不是修复,那么主线程上的Environment.Exit() 将关闭所有正在运行的线程,然后关闭进程。
      【解决方案3】:

      “结束”关键字就是您要查找的内容。

      把它放在 FormClosed 事件中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-21
        • 2014-02-03
        • 2021-04-11
        • 1970-01-01
        相关资源
        最近更新 更多