我的问题是,当我使用标题栏上的关闭框关闭窗体时,应用程序不终止。应用程序不终止
当我在我想退出应用程序,而不进行I/O操作的一些I/O操作的中间。
实际上,它好像程序已关闭,但任务管理器的进程列表显示它不是。
我如何通过强制取消I/O操作?
我的问题是,当我使用标题栏上的关闭框关闭窗体时,应用程序不终止。应用程序不终止
当我在我想退出应用程序,而不进行I/O操作的一些I/O操作的中间。
实际上,它好像程序已关闭,但任务管理器的进程列表显示它不是。
我如何通过强制取消I/O操作?
封闭窗体只会使窗体不可见。但是,如果主线程或其他线程中有任何进程正在运行,则该应用程序不会终止。您必须确保所有资源已关闭或处置完毕。
你打算如何关闭你的应用程序?
Application.Exit只是要求通过消息循环关闭。它可能不会发生。
最好的方法是关闭您可能正在执行的任何非后台线程。不这样做会让你的程序继续运行。
您还可以尝试Environment.Exit或Environment.FailFast。这就像杀死你的过程。
如果您的应用程序中有任何无限循环运行,使您的线程在启动它们之前在后台线程中运行,那么它们将在应用程序退出时自动关闭。
尝试做这样:
Thread somethread = new Thread(...);
someThread.IsBackground = true;
someThread.Start(...);
我建议你如下:
与其他人(2或3)一起使用的第一点应该足够了。 祝你好运!
强制您可以在表单关闭事件中终止进程。 –
尝试Application.Exit();上形成闭合事件 – Prashant
什么是你的I/O操作的代码是什么样子? –