我需要你的帮助
我创建了一个表单并插入一个计时器&进度条进入它
当进度条的值达到100%时,我想关闭此表单并打开程序的主要形式
我写这段代码但是当我运行程序时它会显示这个错误:
(已经模态显示的表单不能显示为模式对话框。在调用showDialog之前关闭表单。)
我如何解决这个问题
Form1 MainForm = new Form1();
public Welcome_window()
{
InitializeComponent();
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Increment(10);
if (progressBar1.Value == 100)
{
this.Visible = false;
MainForm.Visible = false;
MainForm.ShowDialog();
this.Close();
}
}
}
答案 0 :(得分:2)
我认为问题在于您没有停止计时器,因此即使进度已达到100%,也会触发tick事件。
Form1 MainForm = new Form1();
public Welcome_window()
{
InitializeComponent();
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Increment(10);
if (progressBar1.Value == 100)
{
timer1.Stop();
this.Visible = false;
MainForm.ShowDialog();
this.Close();
}
}