我目前正在向我的 winform 添加启动画面。我的启动画面只是另一种形式,在哪里,
this.Text = "";
this.ControlBox = False;
表单中的所有内容都是带有 BackgroundImage 的 PictureBox 和
this.BackgroundImageLayout = BackgroundImageLayout.Center
和一个 ProgressBar 递增值,直到我的 MainForm 的初始化完成。
我使用 Show 而不是 ShowDialog 来打开 Splash。好吧,ProgressBar 可以正常工作,但 PictureBox 中的 BackgroundImage 似乎永远不会加载。我所看到的只是带有 ProgressBar 的白色背景。
我在递增 ProgressBar 的同一方法中使用 SplashScreen.Show(),并且在从 MainForm 的构造函数调用的方法中调用此方法。
我曾尝试在单独的线程中使用 SplashScreen.Show,但这会导致同样的问题。任何帮助将不胜感激,如果需要,我愿意提供更多信息。
解决了:
在它自己的线程中启动它时必须使用 ShowDialog,因为 Show 将在线程结束时关闭窗体,但使用 ShowDialog,线程将保持运行直到窗体关闭。感谢大家的帮助。