我正在用C#.NET编写Windows窗体应用程序
启动时,应用程序显示一个在单独的线程中运行的启动屏幕.在显示闪屏时,主要应用是初始化.
主应用程序完成初始化后,将显示应用程序的主要形式,并且闪屏仍显示在顶部.
到目前为止,一切都如预期的那样.
然后,关闭启动画面,这会导致该线程退出.出于某种原因,在这一点上,主应用程序窗口被发送到所有其他打开的Windows后面,特别是在Windows资源管理器窗口中,您单击.exe文件以首先运行应用程序!
什么可能导致窗户突然像这样"落后"?
当线程关闭时,尝试在主窗口上调用.Activate().
它从来没有被激活过,因此具有低Z阶,所以无论什么更高,自然会高于它.我必须在我们的应用程序中修复这个确切的场景.
别忘了!您可能需要使用Invoke()封送对正确线程的调用!