title: What to use in test? Show or ShowDialog?
body: <p>I'm writing a test for a Windows Forms User Control using Nunit and NCrunch. I want the test to do something like this:</p>
  
  <pre><code>&lt;Test()&gt; _
  &lt;TestCase("1")&gt; _
  &lt;TestCase("2")&gt; _
  Public Sub Test(Value As String)
      Dim CtlObj As MyUserControl
      Using FormObj = New TEST_Form()
          CtlObj = New MyUserControl()
          CtlObj.Text = Value
          FormObj.Controls.Add(CtlObj)
          FormObj.Show()
          ' So test user can see the form.
          Thread.Sleep(1000 * 5)
          Assert.That(...)
      End Using
  End Sub
  </code></pre>
  
  <p>The above code shows the form but the area containing the user control is transparent and I see the images behind the form.</p>
  
  <p>I've tried: Refresh, SuspendLayout &amp; ResumeLayout. I've not found anything which will display the user control.</p>
  
  <p>If I use ShowDialog the user control is displayed but of course the code waits for the user to click on something to close the form.</p>
  
  <p>I want my test to run automatically w/o needing user action.</p>
  
  <p>I updated my test code to use a BackgroundWorker. The BackgroundWorkder calls ShowDialog. The main code sleeps for several seconds and then closes the BackgroundWorker which shuts down the form.</p>
  
  <p>But using a backgroundworker seems clunky.</p>
  
  <p>Is there a way to show the form and usercontrol w/o the backgroundworker</p>