#region 显示进度条
//全局参数定义以下
//private Form_ProcessBar progressForm = null;
//// 代理定义,能够在Invoke时传入相应的参数
//private delegate void funHandle(int nValue);
//private funHandle myHandle = null;
//调用以下:
//Thread thread = new Thread(new ThreadStart(ThreadFun));
//thread.Start();
/// <summary>
/// 线程函数中调用的函数
/// </summary>
private void ShowProgressBar()
{
progressForm = new Form_ProcessBar();
myHandle = new funHandle(progressForm.SetProgressValue);
progressForm.ShowDialog();
}函数
/// <summary>
/// 线程函数,用于处理调用
/// </summary>
private void ThreadFun()
{
MethodInvoker mi = new MethodInvoker(ShowProgressBar);
this.BeginInvoke(mi);
Thread.Sleep(1000); // sleep to show window
for (int i = 0; i < 1000; ++i)
{
Thread.Sleep(5);
// 这里直接调用代理
this.Invoke(this.myHandle, new object[] { (i / 5) });
}
}
#endregionthis
进度条窗体代码以下线程
一、在窗体中拖拽或手动定义一个进度条,以及label代理
二、在后台代码中粘贴以下代码orm
public void SetProgressValue(int value)
{
PB_Main.Value = value;
L_OperateProcess.Text = "操做进度 :" + value.ToString() + "%";
if (value == this.PB_Main.Maximum - 1)
{
this.Close();
}
}io