求问关于progressBar不能正常显示进度
我想模拟一下编译器那种进度条,进度条在一直在走,旁边会显示现在编译到什么位置之类的,但是我的实现,当我动态刷新现在处于的位置的时候,进度条就不走了,求解这个应该如何解决。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.progressBar1.Visible = true;
}
delegate void delegateString(string str);
/// <summary>
/// 修改Label的函数
/// </summary>
/// <param name="str"></param>
public void setString(string str)
{
this.label1.Text = number + "\r\n";
this.label1.Refresh();
}
int number = 0;
/// <summary>
/// 检测Number是否变化,如果变化修改相应的Label
/// </summary>
int Number
{
get
{
return number;
}
set
{
if (value != number)
{
number = value;
delegateString setStr = new delegateString(setString);
Invoke(setStr, "test");
}
}
}
/// <summary>
/// 处理函数,while循环模拟持续的计算过程
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
while (true)
{
Thread.Sleep(200);
Number = number + 1;
if (Number == 10)
break;
}
}
}