C# 按钮C上的停靠面板#

C# 按钮C上的停靠面板#,c#,.net,winforms,panel,dock,C#,.net,Winforms,Panel,Dock,我正在使用WinForms。在我的表格中,我有两个面板,我想在点击按钮时向上或向下停靠 我遇到的问题是我的面板没有正确对接。 当我点击向上按钮时,panel 1标签被panel 2覆盖 面板1:(锚定:顶部、左侧、右侧) 面板2:(锚定:顶部、底部、左侧、右侧) 不正确面板不应覆盖标签 单击“向上”按钮时会发生什么 单击“向下”按钮时会发生什么 诀窍是纠正控件的顺序 请参见此处:Panel1填充整个表单,Panel2重叠表单。从而隐藏了标签。您必须重新排列控件的Z顺序,即this.cont

我正在使用WinForms。在我的表格中,我有两个面板,我想在点击按钮时向上或向下停靠

我遇到的问题是我的面板没有正确对接。 当我点击向上按钮时,panel 1标签被panel 2覆盖

面板1:(锚定:顶部、左侧、右侧)

面板2:(锚定:顶部、底部、左侧、右侧)

不正确面板不应覆盖标签

单击“向上”按钮时会发生什么

单击“向下”按钮时会发生什么

诀窍是纠正控件的顺序


请参见此处:

Panel1填充整个表单,Panel2重叠表单。从而隐藏了标签。您必须重新排列控件的Z顺序,即this.controls.SetChildIndex()方法。
    private void Up_Btn_Click(object sender, EventArgs e)
    {
        panel1.Dock = System.Windows.Forms.DockStyle.Fill;

        panel2.Dock = System.Windows.Forms.DockStyle.Top;
    }

    private void Down_Btn_Click(object sender, EventArgs e)
    {
        panel1.Dock = System.Windows.Forms.DockStyle.Fill;

        panel2.Dock = System.Windows.Forms.DockStyle.Bottom;
    }
public Form1()
{
    InitializeComponent();
    panel1.BringToFront();
}

private void Up_Click(object sender, EventArgs e)
{
    panel1.Dock = DockStyle.Fill;
    panel2.Dock = DockStyle.Top;
}

private void Down_Click(object sender, EventArgs e)
{
    panel1.Dock = DockStyle.Fill;
    panel2.Dock = DockStyle.Bottom;
}