title: Detect when a form has been closed c#
body: <p>I have a WinForm that I create that shows a prompt with a button. This is a custom WinForm view, as a message box dialog was not sufficient.</p>
  
  <p>I have a background worker started and running. I also want to exit the while(<code>aBackgroundWorker.IsBusy</code>) loop if the button on myForm was clicked.  </p>
  
  <pre><code>//MyProgram.cs
  
  using(CustomForm myForm = new CustomForm())
  {
      myForm.Show(theFormOwner);
      myForm.Refresh();
  
      while(aBackgroundWorker.IsBusy)
      {
          Thread.Sleep(1);
          Application.DoEvents();
      }
  }
  </code></pre>
  
  <p>Right now, in the <code>CustomForm</code> the <code>Button_clicked</code> event, I have </p>
  
  <pre><code>//CustomForm.cs
  
  private void theButton_Click(object sender, EventArgs e)
  {
    this.Close();
  }
  </code></pre>
  
  <p>Do I need to add more code to the CustomForm class, or the location where I declare and initialize the form in order to be able to detect a closure?</p>