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