【问题标题】:Docking a WinForm inside another WinForm将一个 WinForm 停靠在另一个 WinForm 中
【发布时间】:2014-05-17 17:46:17
【问题描述】:

我遇到了一个问题,而关于同一问题的旧答案还不够新,所以我认为可以再问一次。 我的问题是:如何将一个表格停靠在另一个表格中?改用 Panel 和 Form 会更合适吗?第一个选项甚至可能吗? 提前致谢。

【问题讨论】:

  • 我已经尝试过了,不幸的是我无法从中获得灵感。你介意告诉我你的想法吗?
  • 重点是您应该为此使用 UserControl(停靠在另一个表单中),而不是表单。
  • @CodyGray 我需要一个表单才能这样做,我知道 UserControl 会更干净,更不凌乱:)

标签: c# .net winforms


【解决方案1】:

创建 2 个表单,Form1 和 Form2。将 Form2 的 TopLevel 属性设置为 false。在 Form1 的表单加载中添加代码

private void Form1_Load(object sender, EventArgs e)
{
    Form2 frm2 = new Form2();
    frm2.Show();

    this.Controls.Add(frm2);
}

这将在 form1 中包含 form2,如果要删除标题栏以使表单更像面板,则必须在 form2 上设置属性。

【讨论】:

  • 谢谢你,它完美地完成了这个把戏!现在我只需要把它停靠在一个精确的位置。
  • 确实如此。但是,它使您无法想象为什么您不只使用 Panel 或 UserControl。 (此外,TopLevel 默认设置为 false。它永远应该设置为 true 的情况非常罕见。)
【解决方案2】:

如果您想要一些可在表单上使用的可重复使用的面板,我认为用户控制将是您所寻找的。​​p>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-11
    • 2012-07-23
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    相关资源
    最近更新 更多