【问题标题】:How to add a control to another form and take it back如何将控件添加到另一个表单并将其取回
【发布时间】:2015-12-18 12:05:27
【问题描述】:

我在主窗体中使用WebBrowser 控件。加载网页后,我想允许用户以另一种形式操作页面。因此,我将 webBrowser 添加到该表单中。

  FormBrowser form2 = new FormBrowser();
  form2.Browser = webBrowser1;
  form2.ShowDialog();

form2 显示时,webBrowser1 从主窗体中消失并添加到form2,因为我在 form_load 事件中添加了它:

private void FormBrowser_Load(object sender, EventArgs e)
{
    if (browser != null)
    {
        this.Controls.Add(browser);
    }
}

现在我想将它添加到主窗体并将其放置在其原始位置,我尝试了以下代码:

.....
browser.Browser = webBrowser1;
browser.ShowDialog();
Controls.Add(webBrowser1);
webBrowser1.BringToFront();

但它不会将其放置在其原始位置。有没有标准的方法来完成这样的任务?为什么它会从主窗体中消失?我可以保留它吗?

【问题讨论】:

  • 为什么它会从主窗体中消失?因为您将其移动到另一个表单上。

标签: c# forms winforms


【解决方案1】:

设置新控件的 Location 属性的 x 和 y 值。

【讨论】:

  • 是的,看来我必须保留它的位置和大小并重新分配它们。
猜你喜欢
  • 1970-01-01
  • 2021-05-08
  • 2014-05-29
  • 1970-01-01
  • 2014-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多