.NET 强制退出WinForm程序 C#+.NET
来源:互联网 发布:淘宝海外商城入驻资格 编辑:程序博客网 时间:2024/06/05 06:58
如下则问题解决:
或者把它放到事件里:
还有一种方法:
不过以上方法,都是强制直接退出了整个程序,不只是关闭子窗体。可能还会引发某些问题,
我感觉最好方法的就是,在子窗体的Closing事件中,写循环退出条件,这样就可以避免某些未知的错误,而且可以只关闭子窗体,并释放子窗体占用的资源
Application.Exit 是一种强行退出方式,就像 Win32 的 PostQuitMessage()。它意味着放弃所有消息泵,展开调用堆栈,并将执行返回给系统。
在 Windows(Win32 或 .NET)中关闭应用程序的正确方式是关闭它的主应用程序窗口(例如 Form.Close)。主消息泵结束后依然存在的任何窗口都需要手动关闭。在应用程序退出之前通过调用 Form.Close 或 Form.Dispose 来关闭窗口是清除窗口的良好做法,但这需要您有意识地去做。我们需要记住,.NET Framework 的 OnClosing() 是 Win32 的托管版本的 WM_CLOSE,而非 WM_DESTROY。
另外,如果您使用 form.Close(),通过处理 OnClosing 或 OnClosed 事件,就可以让您的应用程序清理内容、关闭文件等。如果您通过 Application.Exit 强行退出应用程序,就无法调用这些事件。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
如何退出C#多线成winform程序
这是项目中碰到的问题。
在网上查了下,网上提供的解决方法 :
1,将主线程设置为后台进程。方法是将主线程的isBackground = true。据说,这样在关闭主程序时后关闭主线程,并关闭所有的线程。
但是我这样做没有成功。
2,有人列出了c#程序退出的几种方法:
(1)Application.Exit()//好像只在主线程可以起作用,而且当有线程,或者是阻塞方法的情况下,很容易失灵。
(2) System.Environment.Exit(0) //无论在主线程或其它线程,都可以吧程序结束干净
(3)Application.ExitThread();
但是我发现(2)这个方法在.netFrame Work compact下是没有的我这样
最后我的解决办法是:强制退出程序进程。代码如下:
tt.Kill();
当然,这种方法很暴力。良好的程序设计应该是,所有的线程都有条件可以结束循环以退出(包括timer)。在程序退出时触发所有线程的终止条件。
- .NET 强制退出WinForm程序 C#+.NET
- C# 中 强制退出WinForm程序
- C#.NET常见问题(FAQ)-如何强制退出进程
- 如何为winform(.NET)(C#)程序打包
- .net强制退出主窗口的方法
- C#.net winform skin
- 强制退出WinForm程序之Application.Exit和Environment.Eixt
- 强制退出WinForm程序之Application.Exit和Environment.Eixt
- 强制退出WinForm程序之Application.Exit和Environment.Eixt
- c语言强制退出的程序
- C#.net中用WinForm接收html页面消息的程序
- Winform应用程序强制退出
- .net winform程序输入法问题
- 关于C#.NET WINFORM快捷键
- C# 强制退出程序
- C# 强制退出程序
- C# 强制退出程序
- C# 强制退出程序
- Hello CSDN
- MFC POST 文件到 http服务器
- MySQL表最大能达到多少?
- Android面试题之二(中)
- C#.net访问web URL并处理返回值 && 不加web引用调用webservice
- .NET 强制退出WinForm程序 C#+.NET
- winform最小化后隐藏到右下角,单击或双击后恢复
- 我的第一个C++程序
- 如何用C#语言构造蜘蛛程序
- [python] os.walk()与os.path.walk()
- 十大Visual Studio插件
- vc6中private static变量可能可以在派生类中访问的问题
- winform透明小技巧
- C++(二)