【问题标题】:In vb.net, how do you force-exit an application and stifle error messages?在 vb.net 中,如何强制退出应用程序并抑制错误消息?
【发布时间】:2009-08-20 17:53:10
【问题描述】:

我希望用户能够简单地退出我的应用程序。但是,由于某种原因,我在时间延迟上的代码,由秒表控制,仍在尝试执行。我不在乎它是否尝试这样做,但我想停止错误并强制退出应用程序,终止所有正在运行的线程。

我正在使用带有 SP1 的 Visual Basic Express 2008,我在 vb.net 中进行编码,这是一个 WinForm 应用程序。

我尝试使用 Formname.Close() 简单地关闭表单,并且我还尝试了 Application.Exit()。我什至尝试了一个 If Then 语句,它退出了引用我的文本框的线程,并使用 Application.ExitThread()

退出了它

我明白了:

ObjectDisposedException 未处理

无法访问已处置的对象。对象名称:“文本框”。

我该如何处理这个异常或者干脆退出?

感谢您的帮助!

编辑:澄清一下,我不在乎这是如何实现的,我只是希望应用程序停止运行,并且不会发生错误。

【问题讨论】:

    标签: exception-handling objectdisposedexception


    【解决方案1】:

    解决问题的最坏情况是:

    Process.GetCurrentProcess.Kill()
    

    问候, 齐布里

    【讨论】:

      【解决方案2】:

      您可以在退出前关闭秒表吗?

      【讨论】:

      • 秒表是在子程序中声明的,在 ObjectDisposedException 发生时它已经停止了。
      • 可能还有其他事情发生。尝试删除您的文本框和/或秒表,看看它是否退出而没有错误。尝试找出导致问题的对象/条件。
      • 已经执行的代码“LoadBox.AppendText(LoadProgress.Text + Environment.NewLine)”还在执行。我该如何阻止这种情况?
      • 嗯,我解决了我的问题。我只是删除了在那个时间点退出应用程序的能力。无论如何,这是一个两秒钟的过程,如果他们对此不能耐心等待,那么这对他们来说很糟糕;)。
      • 很高兴你把它修好了。有时问题只是你找错地方了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      • 2019-08-26
      相关资源
      最近更新 更多