c\#BackgroundWorker 구성 요소 의 역할

그래 픽 화 된 윈도 폼 데스크 톱 프로그램 을 구축 하고 프로그램의 주 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;
    }

  }
이상 은 c\#BackgroundWorker 구성 요소 의 역할 에 대한 상세 한 내용 입 니 다.c\#BackgroundWorker 구성 요소 에 대한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기