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}

     

  • 相关阅读:
    集合类学习之ArrayList源码解析
    集合类学习之Hashmap机制研究
    基于 HTTP/2 的全新 APNs 协议
    tcp协议头窗口,滑动窗口,流控制,拥塞控制关系
    TCP、UDP、IP 协议分析
    /proc/net/tcp中各项参数说明
    linux系统limit知识
    随机行
    nf_conntrack被启用导致服务故障
    HTTP 2.0的那些事
  • 原文地址:https://www.cnblogs.com/right/p/1274681.html
Copyright © 2011-2022 走看看