zoukankan      html  css  js  c++  java
  • BackgroundWorker组件的作用

    当构建一个图形化的Windows Form桌面应用程序并且需要执行在应用程序主UI线程之外的线程中长时间的任务时,BackgroundWorker类就很有用了。

    要使用BackgroundWorker,我们只需要告诉它希望在后台执行那个方法并且调用RunWorkerAsync()即可

     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                int a = int.Parse(textBox1.Text.Trim());
                int b = int.Parse(textBox2.Text.Trim());
                Add ad = new Add(a,b);
                backgroundWorker1.RunWorkerAsync(ad);
            }
    
            private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
            {
                  Add args=(Add)e.Argument;
                  for (int i = 0; i < 11; i++)
                  {
                      Thread.Sleep(200);
                      backgroundWorker1.ReportProgress(i*10);
                  }
               
                  e.Result = args.a + args.b;
            }
    
            private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
            {
                label1.Text = e.Result.ToString();
            }
    
            private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
            {
                progressBar1.Value = e.ProgressPercentage;
            }
        }
        public class Add
        {
            public int a;
            public int b;
            public Add(int a, int b)
            {
                this.a = a;
                this.b = b;
            }
    
        }
  • 相关阅读:
    强化学习 相关资源
    Log4j输出文件到目的地
    httpclient 封装post 和get
    Cookie 和Session区别
    day09 request 和response
    Jmeter 断言
    Jmeter自学笔记10----性能测试基础实战
    Jmeter 目录
    性能测试解惑之并发压力
    设计模式,就是那个抽象工厂没写
  • 原文地址:https://www.cnblogs.com/wangzhenghua/p/4448752.html
Copyright © 2011-2022 走看看