我已经用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;
}
进度条进度不会显示,只是一切完成后,进度条才会显示并已满。
我该怎么办?
感谢卡洛斯
答案 0 :(得分:0)
使用Application.DoEvents()
的evrytime更改进度条的值:
private void dens()
{
pbar.value1=pbar.value1+2;
Application.DoEvents();
}