Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将子组件添加到父级';谁的小组?_C#_Visual Studio 2012_Windows Forms Designer - Fatal编程技术网

C# 将子组件添加到父级';谁的小组?

C# 将子组件添加到父级';谁的小组?,c#,visual-studio-2012,windows-forms-designer,C#,Visual Studio 2012,Windows Forms Designer,我正在开发一个项目,我需要一个很酷的可定制界面,所以我设计了一个“父表单”,根据XML定制选项,所有孩子都可以从中得到“样式化”。 我在中间添加了一个 TabelayayOutsPux/Cuff>来绘制边框和面板,其中子窗体将被假定添加它们的组件并进行作业。 我面临的问题是,即使我将“内容面板”设置为“公共”,设计者也不允许我从子窗体向其添加控件 有什么不同的方法可以从“可定制”超类派生出可设计的表单吗 编辑:父类是公共的,包含内容面板的每个容器也设置为公共的 我手动将一个新面板添加到child

我正在开发一个项目,我需要一个很酷的可定制界面,所以我设计了一个“父表单”,根据XML定制选项,所有孩子都可以从中得到“样式化”。 我在中间添加了一个<代码> TabelayayOutsPux/Cuff>来绘制边框和<代码>面板<代码>,其中子窗体将被假定添加它们的组件并进行作业。

我面临的问题是,即使我将“内容面板”设置为“公共”,设计者也不允许我从子窗体向其添加控件

有什么不同的方法可以从“可定制”超类派生出可设计的表单吗

编辑:父类是公共的,包含内容面板的每个容器也设置为公共的


我手动将一个新面板添加到child's designer.cs的父级内容窗格中,将其设置为DockStyle.Fill。当我回到设计器时,它现在允许我将组件添加到孩子的内容面板中

有点乱,我很确定会有另一种方法


但我会一直这样做,直到找到一个更好的解决方法。

我在父类作用域中添加了一个新的公共面板,该面板来自代码而不是设计器,然后在父构造函数中,我将其添加到TableLayoutPanel中,在InitializeComponents()调用和BAM下面的构造函数代码中配置了停靠和colspan

    public Panel contentPane = new Panel();

    public Dialogo()
    {
        InitializeComponent();
        Content.Controls.Add(contentPane);
        contentPane.Dock = DockStyle.Fill;
        // More code
    }
所以它是“Content”里面的一个contentPane,它是表格第二行的另一个面板,有5列(所以表格包围了它,允许我画边框)。 我不知道为什么,但在设计器之外的代码中添加内容面板后,我可以直接从设计器以子窗体的形式将组件添加到面板中。

可能的重复项