わかりました、フォームにクロージング イベントがあります。その中のコードは、フォームをフェードアウトしてから、別のフォームを開きます。フェードが完了するまで待つ方法はありますか? これが私のコードです:
private void form1_closing(object sender, FormClosingEventArgs e)
{
if (this.Opacity > 0.01f)
{
e.Cancel = true;
timer1.Interval = 47;
timer1.Enabled = true;
timer1.Start();
}
else
{
timer1.Enabled = false;
}
}
private void timer2_Tick(object sender, EventArgs e)
{
progressBar1.Increment(+1);
label4.Text = progressBar1.Value.ToString() + "%";
if (progressBar1.Value == 100)
{
progressBar1.Value = 100;
timer2.Stop();
this.Close();
Form2 frm2 = new Form2();
frm2.Show();
}
}
基本的にはform2の方が早く開くので、フェード効果がかかってから待ってほしい。:)