title: How to add a control to another form and take it back
body: <p>I use a <code>WebBrowser</code> control in my main form. After loading a webpage, I want to allow the user to manipulate the page in another form. So, I add the webBrowser to that form. </p>
  
  <pre><code>  FormBrowser form2 = new FormBrowser();
    form2.Browser = webBrowser1;
    form2.ShowDialog();
  </code></pre>
  
  <p>When the <code>form2</code> is shown, the <code>webBrowser1</code> disappears from main form and is added to the <code>form2</code>, because I add it in the form_load event:</p>
  
  <pre><code>private void FormBrowser_Load(object sender, EventArgs e)
  {
      if (browser != null)
      {
          this.Controls.Add(browser);
      }
  }
  </code></pre>
  
  <p>Now I want to add it to the main form and place it in its original location, I tried the following code:</p>
  
  <pre><code>.....
  browser.Browser = webBrowser1;
  browser.ShowDialog();
  Controls.Add(webBrowser1);
  webBrowser1.BringToFront();
  </code></pre>
  
  <p>But it doesn't place it in its original location. Is there any standard way to do such a task? Why does it disappears from the main form? Can I retain it?</p>