欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c# BackgroundWorker组件的作用

程序员文章站 2022-05-15 15:28:19
当构建一个图形化的windows form桌面应用程序并且需要执行在应用程序主ui线程之外的线程中长时间的任务时,backgroundworker类就很有用了。要使用backgroundworker,...

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

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

c# BackgroundWorker组件的作用

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;
    }

  }

以上就是c# backgroundworker组件的作用的详细内容,更多关于c# backgroundworker组件的资料请关注其它相关文章!