Winform控件成为其他控件的子级,而不是添加到窗体中。

时间:2018-06-28 11:01:00

标签: c# winforms

因此,在Windows窗体应用程序中的同一位置,我有三个面板彼此堆叠在一起。 每次我在顶部添加另一个面板时,它将成为前一个面板的子面板。这意味着不能单独显示每个面板,即,要显示面板2,我必须首先显示panel1(父对象)。我相当确定这是正在发生的事情。但是,我必须能够调用panel2.show(),而隐藏面板1。

是否有解决此问题的方法?

2 个答案:

答案 0 :(得分:0)

这是WinForms设计器问题。您可以尝试移动面板并在属性中设置位置,也可以在后面输入代码并手动设置父子关系。

答案 1 :(得分:0)

基本上,不只是将面板拖放在一起。尝试以编程方式编码其位置。在您的 Form.Designer.cs this.panel2.Controls.Add(this.panel3);中查找此类代码并将其删除。

在应该位于底部的表单部分中添加所有面板。

this.Controls.Add(this.panel1);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel3);

这应该能够将所有面板作为子窗体。