方法不显示form2中的进度条
本文关键字:显示 form2 方法 | 更新日期: 2023-09-27 18:01:08
我有一个有两个表单的应用程序。第一个是我完成所有工作的地方,第二个只是用来显示进度条。
我想打开主表单中的第二个。如果我使用
Form2 newForm = new Form2();
newForm.Show();
Form2
在需要打开和关闭时打开和关闭,但我看不到进度条。我只能看到一个空白而不是它。
当我使用时
Form2 newForm = new Form2();
newForm.ShowDialog();
我可以看到进度条,但Form2
在需要时不会关闭。它永远在运行,我该怎么办?
我使用静态公共变量closeForm来关闭第二个表单。当我需要关闭表单时,我设置
closeForm = true;
在第二个表格中,我有一个计时器
private void timer1_Tick(object sender, EventArgs e)
{
if (Form1.closeForm)
{
this.Dispose();
this.Close();
return;
}
else
{
progVal++;
progressBar1.Value = (progVal % 100);
}
}
这是我放置ProgressBar值并关闭表单的地方。
当我使用show方法时,我只看到空格,而不是表2中的控件。不仅仅是进度条,我希望form1
关闭form2
首先,您需要向进度条报告进度
int iProgressPercentage = (int)(dProgressPercentage * 100);
// update the progress bar
progressBar1.ReportProgress(iProgressPercentage);
先尝试这样做,然后调用this.close((;
正如我在上面的评论中所说,您需要从这里检查模式对话框Form.ShowDialog方法,我只在那里引用以下表格:
您可以使用此方法在应用程序中显示模式对话框。当调用此方法时,它后面的代码直到对话框关闭后才会执行。
至于为什么你不能在Form2
和Show();
上看到你的ProgressBar
,你需要提供更多关于你如何处理它的信息,就好像我把你的程序分成两部分,用两个button click
运行它们一样(单击按钮1显示Form2
;单击按钮2关闭它(我可以看到你的预期结果:progressbar
。
如果没有您的进一步信息,我的最佳猜测是运行中的某些东西阻止了Form2更新其GUI。