c#进度条显示百分比

来源:百度知道 编辑:UC知道 时间:2024/06/01 09:07:31
button1.Enabled = false;
button2.Enabled = false;

for(i=1;i<=100;i++)
{
for (j = 1; j<=10000; j++)
{
if (j % 100 == 0)
progressBar1.Value = j;
}
this.progressBar2.Value = i;
label3.Text = i.ToString() + "%";

}
button1.Enabled = true ;
button2.Enabled = true;
groupBox1.Text = "程序运行结束!";
timer1.Enabled=false;
我想在label3上显示进度百分比,但是只显示0%和100%,中间的数值显示不了,是什么原因,是因为没更新吗?

private volatile int currentNumber = 0;
private void Form1_Load(object sender, EventArgs e)
{
//Form加载的时候启动一个手工线程.
System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ThreadStart(NumberIncrement));
thread.Start();
}
//递增数字.
private void NumberIncrement()
{
for (int i = 0; i < 100; i++)
{
currentNumber += i;
//注意,当前方法由手工线程执行,无法直接对UI线程下的控件赋值.我们启用一个委托,跳回UI线程.
EventHandler eh = new EventHandler(DisplayNumber);
this.Invoke(eh, new object[] { null, null });
//为了看到效果,这里可以加上
//Thread.Sleep(30);
}
}
private void DisplayNumber(object sender, EventArgs e)
{
//这里给UI控件赋值.
//比如 txtNumber.Text = currentNumber.ToString();
}
这是我给另外一个人写的代码,不过那人试都不原意试,你愿不愿意试下?
http://zhidao.baidu.com/question/79980016.html

不支持次线