私はWindowsフォームで作業しています。このようなプログラムを開くときに表示されるスプラッシュ画面を設定しました。スプラッシュ画面の後に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();
}
プログレスバーとタイマーがあります。私はここに別の投稿からアイデアを得た。これは問題なく動作しています。スプラッシュ画面が表示されます。この後に表示されるウィンドウのフォームで私は持っています:
Thread t = new Thread(new ThreadStart(splash));
t.Start();
Thread.Sleep(2000);
InitializeComponent();
t.Abort();
問題は次のとおりです。 exeを開くと、スプラッシュ画面が約2秒間表示され、消えると、次のフォームが2番目に表示され、次に開いたウィンドウが1つおきに表示されます。
どうすれば修正できますか?
アップデート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);
これはメインです。私はこれがどのくらいOKか分かりませんが、うまくいきます。
[メインウィンドウには、スプラッシュ画面の後に他のウィンドウの背後に表示されます](http://stackoverflow.com/questions/31277790/main-window-appears-の可能性のある重複背後にある他の窓fter-splash-screen) – Sinatr
@Sinatrいいえ、私はしませんでした。したほうがいい? – TiraULTI
'スプラッシュ'のコードを表示することができます –