title: Control.Invoke() hangs application
body: <p>I'm showing an animation while my control is loading the data. When the thread finishes, I hide the animation and show the control. So I'm executing this code from a thread:</p>
  
  <pre><code>protected void InvokeEnableBackControl()
  {
      if (this.InvokeRequired)
      {                
          this.Invoke(new OpHandler(EnableBackControl));
      }
      else
      {
          EnableBackControl();
      }
  }
  </code></pre>
  
  <p>Sometimes, when I execute this code, the main thread gets hanged in the following code:</p>
  
  <pre><code>protected virtual void EnableBackControl()
  {
      if (overlayAnimation.TargetControl != null)
      {
          overlayAnimation.TargetControl.BringToFront();
      }
  
      overlayAnimation.SendToBack();
      overlayAnimation.Enabled = false;
      overlayAnimation.Visible = false;                      
  </code></pre>
  
  <p>}</p>
  
  <p>I'm not sure if it's hanged setting the <code>Enable</code> or <code>Visible</code> property. Do you know any circumstance that may hand the application calling these properties from a <code>Control.Invoke</code>?</p>