zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    ReactNative学习-webView
    React Native学习-将 'screen', 'window' or a view生成图片
    React Native学习-measure测量view的宽高值
    React Native教程
    React Native学习-CameraRoll
    React Native学习-控制横竖屏第三方组件:react-native-orientation
    React Native学习-调取摄像头第三方组件:react-native-image-picker
    ReactNative学习-滑动查看图片第三方组件react-native-swiper
    MFC的简单加法器(二)
    MFC之目录结构及消息流转(一)
  • 原文地址:https://www.cnblogs.com/lvfeilong/p/fdfdsfdsfdsfds.html
Copyright © 2011-2022 走看看