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


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

    实现:

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

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

    大概就如下图了:

    完整代码如下:

    引入命名空间:

    1. using System.Threading;  

    完整代码:

    1. namespace ProgressBar  
    2. {  
    3.     public partial class Form1 : Form  
    4.     {  
    5.         public Form1()  
    6.         {  
    7.             InitializeComponent();  
    8.         }  
    9.   
    10.         DateTime dt;    //记时  
    11.         private void btnStart_Click(object sender, EventArgs e)  
    12.         {  
    13.             Thread myThread = new Thread(DoData);  
    14.             myThread.IsBackground = true;  
    15.             myThread.Start(int.Parse(txtWhileNumber.Text)); //线程开始  
    16.             dt = DateTime.Now;  //开始记录当前时间  
    17.         }  
    18.   
    19.         private delegate void DoDataDelegate(object number);  
    20.         /// <summary>  
    21.         /// 进行循环  
    22.         /// </summary>  
    23.         /// <param name="number"></param>  
    24.         private void DoData(object number)  
    25.         {  
    26.             if (progressBar1.InvokeRequired)  
    27.             {  
    28.                 DoDataDelegate d = DoData;  
    29.                 progressBar1.Invoke(d, number);  
    30.             }  
    31.             else  
    32.             {  
    33.                 progressBar1.Maximum = (int)number;  
    34.                 for (int i = 0; i < (int)number; i++)  
    35.                 {  
    36.                     progressBar1.Value = i;  
    37.                     Application.DoEvents();  
    38.                 }  
    39.                 MessageBox.Show(DateTime.Now.Subtract(dt).ToString());  //循环结束截止时间  
    40.             }  
    41.         }  
    42.   
    43.         private void btnClear_Click(object sender, EventArgs e)  
    44.         {  
    45.             progressBar1.Value = 0;  
    46.         }  
    47.     }  
    48. }  

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

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

  • 相关阅读:
    CF1033F Boolean Computer
    CF1027G X-mouse in the Campus
    LOJ2570 [ZJOI2017]线段树
    清华强基&交大浙大三一
    java制作unicode代码在excel中批量导入图片
    laravel8新功能和笔记
    缩小图片比例大小和占用空间
    2018-2019-2 20175216张雪原 实验五《网络编程与安全》实验报告
    2018-2019-2 20175216张雪原 实验四《Android程序设计》实验报告
    20175216 《Java程序设计》第十一周学习总结
  • 原文地址:https://www.cnblogs.com/lvfeilong/p/fdfdsfdsfdsfds.html
Copyright © 2020-2023  润新知