TableLayoutPanel
来绘制边框,并在中间添加一个Panel
,其中儿童表单可能会添加其组件并完成工作。
我面临的问题是,即使我将'内容面板'设置为'公开',设计师也不会让我从子窗体中添加控件。
我可以通过任何不同的方式制作可从'可定制'超类派生的可设计表格吗?
编辑:父类是公共的,包含Content-Panel的每个容器也都设置为public。
答案 0 :(得分:1)
我手动添加到child的designer.cs父级内容窗格中的一个新Panel,将其设置为DockStyle.Fill。当我回到Designer时,它现在将我添加到子内容Panel的组件。
有点乱,我很确定会有另一种方式...
但我会一直这样工作,直到我能找到更好的解决方法。
答案 1 :(得分:1)
我在父类的范围内从设计器以外的代码添加了一个新的公共Panel,然后在父构造函数中,我将它添加到TableLayoutPanel,从构造函数代码配置了docking和colspan,在InitializeComponents()调用和BAM!下面/ p>
public Panel contentPane = new Panel();
public Dialogo()
{
InitializeComponent();
Content.Controls.Add(contentPane);
contentPane.Dock = DockStyle.Fill;
// More code
}
所以它是'Content'里面的一个contentPane,它是表格第二行中的另一个面板,占据了5列(因此表格围绕它并允许我绘制边框。 我不知道为什么,但是在设计师以外的代码中添加了内容面板,允许我直接从Designer中以子代码形式向面板添加组件。