Winform中使用进度条的一个例子
因为在winform程序中,UI线程负责界面相关的工作。
Winform中使用进度条的方法有很多,可以直接创建一个新的线程Thread执行耗时的方法;也可以使用线程池。
例如:
//使用线程池异步执行longTime方法,不阻塞UI线程 System.Threading.ThreadPool.QueueUserWorkItem(_ => { DoSomething(); }
如果想使用进度条,可以模拟进度操作,在一个循环内,
//使用线程池异步执行longTime方法,不阻塞UI线程 System.Threading.ThreadPool.QueueUserWorkItem(_ => { DoSomething(); //模拟更新进度条 UpdateProgress(total, i); } /// <summary> /// 模拟更新进度条 /// </summary> /// <param name="total">总进度</param> /// <param name="value">当前进度</param> private void UpdateProgress(int total, int value) { this.BeginInvoke(new Action(() => { this.progressBar1.Minimum = 0; this.progressBar1.Maximum = total; this.progressBar1.Value = value; })); }
作者:樊勇
出处:http://www.cnblogs.com/fanyong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
我的联系方式:fanyong@gmail.com
个人独立博客:www.fy98.com