2012-02-25 25 views
23

i am mới để BackgroundWorker này điều
tôi đã đọc một số bài viết về cách tạo một
đây là những gì nó được sản xuất"BackgroundWorker này nói rằng nó không báo cáo tiến độ." - Tại sao?

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) 
    { 
     Bitmap imgbox = new Bitmap(pictureBox.Image); 

     int imgHeight = imgbox.Height; 
     int imgWidth = imgbox.Width; 

     int counter = 1; 

     MinMaxWidth = imgWidth - 50; 
     MaxWidth = imgWidth; 

     try 
     { 
      Color c; 
      //Color c2; 

      for (int i = 0; i < imgbox.Width; i++) 
      { 
       for (int j = 0; j < imgbox.Height; j++) 
       { 
        c = imgbox.GetPixel(i, j); 
        string cn = c.Name; 
        counter++; 
        backgroundWorker1.ReportProgress(counter); 
       } 
      } 
      MessageBox.Show("SUCESSFULLY DONE"); 
     } 
     catch (Exception ex) { MessageBox.Show(ex.Message); } 
    } 

    private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) 
    { 
     MyProgress.Value = e.ProgressPercentage; 
    } 

nhưng khi tôi bắt đầu sự kiện DoWork. lỗi này xuất hiện

Điều này BackgroundWorker tuyên bố rằng báo cáo này không báo cáo tiến độ.
Sửa đổi WorkerReportsProgess để tuyên bố rằng báo cáo tiến độ.

ijust làm theo những gì hướng dẫn nói
điều gì sẽ là vấn đề ?, có điều gì đó mà tôi quên không?

Trả lời

73

Khi lỗi đề xuất, hãy đặt thuộc tính WorkerReportsProgress của thành phần BackgroundWorker thành true.

Các vấn đề liên quan