2011-05-24 53 views
4

C#的問題,我有一個組件「的BackgroundWorker」問題與BackgroundWorker的

當我點擊一個按鈕,我必須執行需要時間n次迭代,我必須委託該操作到另一個線程

我跟着這個教程:tutorial (in french)

這裏是我的代碼:

private void btnIterate_Click(object sender, EventArgs e) 
    { 
     bgwIterer.RunWorkerAsync();     
    } 

    private void bgwIterer_DoWork(object sender, DoWorkEventArgs e) 
    { 
     BackgroundWorker worker = sender as BackgroundWorker; 
     e.Result = new Iterate(btnIterate, btnReinit, txtInput, lblState, entree, worker, e); 
    } 

    private void bgwIterer_ProgressChanged(object sender, ProgressChangedEventArgs e) 
    { 
     this.lblState.Text = e.ProgressPercentage; 
    } 

bgwIterer是我的BackgroundWorker康波新界東北 這裏是我想委託方法:

class Iterate 
{ 
    // Constructeur surchargé de la classe Iterate: 
    public Iterate(Button mybtnIterate, Button mybtnReinit, 
    TextBox mytxtInput, Label mylblState, 
    int myentree, BackgroundWorker worker, 
    DoWorkEventArgs e) 
    { 
     int pourcent = 0; 
     int var0 = 0, var1; 
     mybtnIterate.Enabled = false; 
     mytxtInput.Focus(); 
     do 
     { 
      var1 = 0; 
      do 
      { 
       ++var1; 
      } 
      while (var1 < myentree); 
      ++var0; 
      pourcent = (var0/myentree) * 100; 
      worker.ReportProgress(pourcent); 
     } 
     while (var0 < myentree); 
     mylblState.Text = "Terminé !"; 
     mytxtInput.Enabled = false; 
    } 

}

,這就是問題所在:

類型或命名空間名稱 '的BackgroundWorker' 不能找到(是否缺少using指令或程序集引用?)

有人有想法嗎?

+0

貴命名空間聲明是什麼樣子,你使用的是什麼版本的.NET和,尤其是你引用System.ComponentModel.Component? http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx – Terrance 2011-05-24 12:38:51

+0

您是否添加了使用System.ComponentModel? – klennepette 2011-05-24 12:38:55

回答

9

嘗試添加:

using System.ComponentModel; 
+0

這是問題,現在的工作很好,謝謝! – 2011-05-24 12:42:44

2

類名是BackgroundWorker的,不是BackgroundWorker的 - 這就是原因。

+2

+1;)....讓我微笑,BC我們都在那裏。 – Nix 2011-05-24 12:37:10

+0

這是我使用的BackgroundWorker奇怪:/ – 2011-05-24 12:42:07

+1

我只是看着您發佈的錯誤 - 它有大寫字母「G」。但無論如何,看起來像它不是真正的問題 - 你根本就添加一個「使用」的聲明:) – Andrey 2011-05-24 13:41:49