我的问题是,当我使用标题栏上的关闭框关闭表单时,应用程序不会终止。
当我处于某些I / O操作的中间时,我想退出应用程序而不执行I / O操作。
实际上似乎程序已关闭,但任务管理器的进程列表显示它不是。
如何强行取消I / O操作?
答案 0 :(得分:2)
我建议您使用以下内容:
与其他一个(2或3)一起使用的第一个点应该足够了。 祝你好运!
答案 1 :(得分:1)
关闭表单只会使表单不可见。但是,如果主线程或其他线程中正在运行任何进程,则应用程序将不会终止。您必须确保关闭或处置所有资源。
答案 2 :(得分:1)
您是如何尝试关闭申请的?
Application.Exit只是要求通过消息循环关闭。它可能不会发生。
最好的方法是关闭您可能执行的所有非后台线程。不这样做会使您的流程继续运行。
您还可以尝试使用Environment.Exit或Environment.FailFast。这就像杀死你的过程一样。
答案 3 :(得分:1)
如果您的应用中有任何无限循环运行,请在启动它们之前使用后台线程运行,然后在应用程序退出时自动关闭它们。
尝试这样做:
Thread somethread = new Thread(...);
someThread.IsBackground = true;
someThread.Start(...);