0

メインフォームの開始時に、スプラッシュスクリーンとタイマー用のスレッドがあります。

public xMainForm()
{
    //start timer and bring in splashscreen
    Thread t = new Thread(new ThreadStart(SplashScreen));
    t.Start();            
    Thread.Sleep(5000);
    InitializeComponent();
 }//end public xMainForm

それはすべてうまくいっています。スプラッシュスクリーンのタイマーは、xMainForm の初期化につながり、スプラッシュスクリーンのボタンを有効にします。

private void xTimer_Tick(object sender, EventArgs e)
{
    //use xTimer_Tick to give continuous countdown
    if(countDown < 100)
    {
        countDown = countDown + 1;
        xCountLabel.Text = Convert.ToString(countDown);
    }
    else
    {
        xTimer.Stop();
        xCountLabel.Visible = false;
        xGoLabel.Visible=true;
    }
}//end xTimer
private void xGoLabel_Click(object sender, EventArgs e)
{
    this.Close();
}//end xGoLabel_Click

メイン フォームにステートメントを挿入して、スプラッシュ スクリーンがまだ開いているかどうかを確認し、メイン フォームが初期化される前にスプラッシュ スクリーンが閉じられるまで待機しているかどうかを確認することはできますか?

基本的に、タイマーでボタンを表示させ、ボタンをクリックするとメインフォームが表示されるようにします。

どんな助けでも大歓迎です。ありがとうございました。

4

2 に答える 2

0

はい、次のように確認できます

if (Application.OpenForms["yoursplashscreen"] != null)
{
     //splash screen is open
}
于 2013-08-29T15:41:01.743 に答える