zoukankan      html  css  js  c++  java
  • 典型的多线程操作界面的例子

     1public partial class Form1 : Form
     2{
     3        public Form1()
     4        {
     5            InitializeComponent();
     6        }

     7        private void button1_Click(object sender, EventArgs e)
     8        {
     9            this.progressBar1.Maximum = 9000;
    10            progressBar1.Minimum = 0;
    11            progressBar1.MarqueeAnimationSpeed = 1000;
    12            Thread tt = new Thread(new ThreadStart(LongProcess));
    13            tt.IsBackground = true;
    14            tt.Start();
    15        }

    16        delegate void UpProgressDelegate(int value);
    17        void ProgressIncrease(int value)
    18        {
    19            this.progressBar1.Value = value;
    20        }

    21        void LongProcess()
    22        {
    23            for (int i = 0; i < 9000; i++)
    24            {
    25            //Do something 
    26            Thread.Sleep(1); 
    27              //Porogress Increase 
    28            if (progressBar1.InvokeRequired)
    29            {
    30                progressBar1.Invoke(new UpProgressDelegate(ProgressIncrease),new object[] { i });
    31            }

    32            else
    33            {
    34                ProgressIncrease(i);
    35            }

    36        }

    37    }
     
    38}

     

  • 相关阅读:
    ES6中变量的解析赋值的用途
    ES6中的Set与Map数据结构
    cocos2d-js 序列帧动画
    cocos2d-x坐标系详解
    【javascript】函数中的this的四种绑定形式
    ECMAScript 定义类、对象
    JS中函数参数值传递和引用传递
    作用域
    List<Map>如何根据Map的特定key对应的value对List排序?
    SQL字符型字段按数字型字段排序实现方法
  • 原文地址:https://www.cnblogs.com/right/p/1274681.html
Copyright © 2011-2022 走看看