title: Wait for BackgroundWorker RunWorkerCompleted
body: <p>In the main thread I have a <code>Timer</code>. In the <code>Tick</code> event I run a <code>BackgroundWorker</code>. I do some things there and after that <code>BackgroundWorker</code> calls <code>RunWorkerCompleted</code> event.</p>
  
  <p>In the main thread I have function <code>Stop</code>. This function disables the <code>Timer</code>. But I want wait for <code>BackgroundWorker</code> when he is working.</p>
  
  <p>For example:</p>
  
  <pre><code>public void Next()
  {
  
      // Start the asynchronous operation
      if (!this._backgroundWorker.IsBusy)
          this._backgroundWorker.RunWorkerAsync();
  
  }
  
  private void _backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
  {
      DoSomething();
  
  }
  
  
  private void _backgroundWorker_RunWorkerCompleted(object sender, 
      RunWorkerCompletedEventArgs e)
  {
      DoSomethingElse();
  }
  
  public void Stop()
  {
      this._timer.Enabled = false;
  }
  </code></pre>
  
  <p>So my question is how wait for <code>RunWorkerCompleted</code> event of <code>BackgroundWorker</code>? I need to wait until <code>DoSomethingElse();</code> is finished.</p>
  
  <p>Thanks</p>