出现这种情况大多使用了多线程,或者是调用的dll使用了多线程。我们要想在当前进程上使用Application.Exit();关闭其它进程,就要把其他的进程设置为当前进程的后台进程(IsBackground),而当在主线程中创建了一个线程时,那么该线程的 IsBackground 默认是设置为false的。当主线程退出的时候,IsBackground = false的线程还会继续执行下去,直到线程执行结束。只有 IsBackground = true 的线程才会随着主线程的退出而退出。
故解决办法为:当初始化一个线程,指示该线程为后台线程,Thread.IsBackground = true ,这样后台线程将会随着主线程的退出而退出,也就是说可以被当前进程所控制,用 Application.Exit() 结束。
Winform窗口关闭后,任务管理器中依然运行的解决办法
最新推荐文章于 2023-04-27 17:14:00 发布