ProgressBar控件是进度条控件。
Maximum属性是ProgressBar使用的范围上限
Minimum属性是ProgressBar使用的范围下限
采用线程的方式,实现进度条更新的同时,进行其它事情工作。
程序代码:
//更新进度列表
private delegate void SetPos(int ipos);
private void SetTextMessage(int ipos)
{
if (this.InvokeRequired)
{
SetPos setpos = new SetPos(SetTextMessage);
this.Invoke(setpos, new object[] { ipos });
}
else
{
this.label1.Text = ipos.ToString() + "%";
this.progressBar1.Value = Convert.ToInt32(ipos);
}
}
public Thread fThread;
private void button1_Click(object sender, EventArgs e)
{
fThread = new Thread(new ThreadStart(SleepT));//开辟一个新的线程
fThread.Start();
button1.Enabled = false;
}
private void SleepT()
{
for (int i = 0; i <= 500; i++)
{
System.Threading.Thread.Sleep(10); //线程休眠,控制进度条的速度。
SetTextMessage(100 * i / 500);
}
if (progressBar1.Value == 100)
{
if (MessageBox.Show("已完成!", "提示", MessageBoxButtons.OK)
== DialogResult.OK)
{
progressBar1.Value = 0;
this.label1.Text = "";
button1.Enabled = true;
}
}
}
运行结果。。。