计算时进度栏未显示

时间:2018-09-20 22:39:07

标签: c#

我已经用C#创建了一个Windows窗体。 在这种形式下,我有一个“计算按钮”和一个ProgressBar

当我单击“计算”按钮时,将生成一个用户控件,并且在该用户控件中进行了一些计算。我希望进度条显示用户控件中计算的进度。

在主表单中,我具有以下代码:

public Main()
{
   InitializaComponent()
}
private void Btn_PVT_Validar_Click(object sender, EventArgs e)
{
       progressbar.Visible = true;
       progressbar.Maximum=115;
       M_Results m_Results = new M_Results()
       m_Results.Visible = true;
}

在userControl中,我有这个:

public Results()
{
   InitializaComponent()
}
 private void Results_Load(object sender, EventArgs e)
 {
        Control parent = this.Parent as Control;
        pbar = parent.Controls["progressbar"] as radProgressBar;
        dens();
 }
private void dens()
{
 //loop calculattion and other stuffs and in each loop i have this:
 pbar.value1=pbar.value1+2;
}

进度条进度不会显示,只是一切完成后,进度条才会显示并已满。

我该怎么办?

感谢卡洛斯

1 个答案:

答案 0 :(得分:0)

使用Application.DoEvents()的evrytime更改进度条的值:

private void dens()
{
   pbar.value1=pbar.value1+2;
   Application.DoEvents();
}