分享

C# 多线程使用progressBar进度条控件

 反反复复奋斗 2017-05-10

该例子对为多线程使用progressBar的一个简单例子。

实现:

(1)计算progressBar运行时间(既进度条开始到结束的时间)

(2)利用多线程运行(用这个应该必须用多线程吧,否则没什么实际意义,因为你有进度条必然是要做其他的事情给予一个进度提示)

大概就如下图了:


完整代码如下:


引入命名空间:

using System.Threading;


完整代码:

namespace ProgressBar{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } DateTime dt; //记时 private void btnStart_Click(object sender, EventArgs e) { Thread myThread = new Thread(DoData); myThread.IsBackground = true; myThread.Start(int.Parse(txtWhileNumber.Text)); //线程开始 dt = DateTime.Now; //开始记录当前时间 } private delegate void DoDataDelegate(object number); /// /// 进行循环 /// /// private void DoData(object number) { if (progressBar1.InvokeRequired) { DoDataDelegate d = DoData; progressBar1.Invoke(d, number); } else { progressBar1.Maximum = (int)number; for (int i = 0; i < (int)number;="" i++)="" {="" progressbar1.value="i;" application.doevents();="" }="" messagebox.show(datetime.now.subtract(dt).tostring());="" 循环结束截止时间="" }="" }="" private="" void="" btnclear_click(object="" sender,="" eventargs="" e)="" {="" progressbar1.value="0;" }="">

若以上代码编译有问题可以到下面的地址下载完整项目文件:

http://download.csdn.net/source/3482668

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多