Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 应用程序正在阻止Windows关闭_C#_Windows_Winforms - Fatal编程技术网

C# 应用程序正在阻止Windows关闭

C# 应用程序正在阻止Windows关闭,c#,windows,winforms,C#,Windows,Winforms,我有一个Windows窗体应用程序,它启动两个后台工作程序,并有一个运行窗体的主UI线程 此应用程序有时会阻止用户注销、重新启动或关闭 它显示如下屏幕: 我得到的唯一解决方案是订阅mainform的FormClosing事件,并强制关闭程序,如下所示 按照这个解决方案,我可以终止我的程序,而不必无限期地在上面显示的屏幕上等待,但我仍然能得到它几秒钟 如何防止窗口显示 此程序正在阻止Windows(重新启动/关闭/注销) 我尝试了其他类似问题的答案: 确保所有其他线程都是后台线程 订阅了For

我有一个Windows窗体应用程序,它启动两个后台工作程序,并有一个运行窗体的主UI线程

此应用程序有时会阻止用户注销、重新启动或关闭

它显示如下屏幕:

我得到的唯一解决方案是订阅mainform的FormClosing事件,并强制关闭程序,如下所示

按照这个解决方案,我可以终止我的程序,而不必无限期地在上面显示的屏幕上等待,但我仍然能得到它几秒钟

如何防止窗口显示

此程序正在阻止Windows(重新启动/关闭/注销)

我尝试了其他类似问题的答案:

  • 确保所有其他线程都是后台线程
  • 订阅了Form_关闭事件(部分解决方案,windows最终关闭应用程序,但消息会出现几秒钟)
  • 确保没有其他表单正在执行表单\关闭并保留应用程序

订阅
FormClosing
事件,您做的事情是正确的。为什么你的申请要花这么长时间才能完成?也许明确地从
FormClosing
事件中清除资源会使其性能更高?程序关闭时是否停止提到的工作程序?@ManfredRadlwimmer否我不是停止工作程序,因为我理解的是,如果它们被标记为背景(isbackground=true),windows会处理这些问题。当您在VisualStudio中运行时退出应用程序时,程序是否也需要那么长时间才能结束?