【发布时间】:2017-03-21 14:52:37
【问题描述】:
我正在使用 Windows 窗体。我已经设置了这样打开程序时出现的启动画面。
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
this.FormBorderStyle = FormBorderStyle.None;
}
private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Increment(15);
if (progressBar1.Value == 30) timer1.Stop();
}
它有一个进度条和一个计时器。我从这里的另一篇文章中得到了这个想法。这工作正常,启动画面按应有的方式出现。在此之后出现的 windows 窗体上:
Thread t = new Thread(new ThreadStart(splash));
t.Start();
Thread.Sleep(2000);
InitializeComponent();
t.Abort();
问题如下。当我打开 exe 时,启动画面会出现大约 2 秒钟,然后当它消失时,下一个表单会出现一秒钟,然后在我打开的所有其他窗口之后出现。
你知道我该如何解决吗?
更新 1:
public void splash()
{
System.Windows.Forms.Application.Run(new Form2());
}
这是我的启动画面
最终更新:
我让它以这种方式工作。
Splash splash = new Splash();
Instalador instalador = new Instalador();
splash.Show();
Thread.Sleep(2 * 1000);
splash.Close();
Application.Run(instalador);
这是主要的。我不知道这有多好,但它确实有效。
【问题讨论】:
-
@Sinatr 不,我没有。我应该吗?
-
你能出示
splash的代码 -
@JamesDurda 更新后