在 C# 中显示新窗体时出错



我需要你的帮助
我创建了一个表单,并在
进度条的值达到 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();                          
}
}
}

我认为问题是你不停止计时器,所以即使进度已经达到 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();                
}
}

最新更新