Winform Application UI在其他打开的应用程序之间切换时冻结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform Application UI在其他打开的应用程序之间切换时冻结相关的知识,希望对你有一定的参考价值。

我使用C#和.Net Framework 4.5开发了Windows应用程序

我的应用程序加载用户控件并从用户处获取输入。该用户控件可能有超过100个控件。当我积极使用我的系统时,它工作正常。

问题是当我保持我的应用程序打开并切换到其他也正在运行的应用程序时检查我的电子邮件,浏览互联网或使用Excel。回到我的程序后,我可以看到我的程序的框架和几个控件,但不是所有的,我可以通过我的程序看到我访问的最后一个应用程序。我的应用程序的标题栏也将变黑。

请注意,我的应用程序不会无法访问。它只是不会加载我的所有控件。我已经分配了快捷键来重新加载用户控件,通过它我可以重新加载我的用户控件然后它工作正常。

This is how freeze UI looks like

This is how it looks like when reload

答案

我相信你的自定义控件需要一些特殊的绘图,这让我想到了paint事件。

既然你自己找到了解决办法

我已经分配了快捷键来重新加载用户控件

我相信您可以使用OnFocus事件来调用此快捷键或其后面的代码。

以上是关于Winform Application UI在其他打开的应用程序之间切换时冻结的主要内容,如果未能解决你的问题,请参考以下文章

Winform开发全套31个UI组件开源共享

C#的winform程序,主窗体的调用问题

富客户端 wpf, Winform 多线程更新UI控件

WinForm中在非UI线程更改控件值的办法

WINFORM Application.Exit()

如何从其他 appdomain 获取 UI 线程调度程序?