我有一个申请.
首先,我显示一个启动画面,一个表单,这个启动会调用另一个表单.
问题:当显示启动窗体时,如果我然后在启动画面顶部打开另一个应用程序,然后最小化这个新打开的应用程序窗口,则启动画面变为白色.我该如何避免这种情况?我希望我的飞溅能够清晰显示,不受任何应用程序的影响.
您需要在另一个线程中显示启动画面 - 目前您的新表单加载代码阻止了启动画面的UI线程.
启动一个新线程,然后在该线程上创建启动画面并调用Application.Run(splash)
.这将在该线程上启动一个新的消息泵.然后,您需要在准备好时将主UI线程调用回启动屏幕的UI线程(例如使用Control.Invoke/BeginInvoke),因此启动屏幕可以自行关闭.
重要的是要确保不要尝试从错误的线程修改UI控件 - 只使用创建控件的控件.