我需要在主面板中添加多个面板,当我添加第二个面板时,它将在第一个添加的面板上移动。如果你不能理解我的意思,请参考图片。
问题是,如何在我刚添加的面板下面添加以下面板?
public override DockStyle Dock { get; set; }
private void resultlabel()
{
Panel panel1 = new Panel();
panel1.Height = 50;
panel1.Dock = DockStyle.Top;
panel1.AutoSize = false;
panel1.AutoSizeMode = AutoSizeMode.GrowOnly;
panel1.AllowDrop = false;
panel1.CausesValidation = true;
if((totalitem % 2) == 0)
{
panel1.BackColor = Color.Blue;
}
else
{
panel1.BackColor = Color.Orange;
}
Label label1 = new Label();
label1.Text = count.ToString();
panel1.Controls.Add(label1);
mainPanel.Controls.Add(panel1);
count= count+ 1;
}
答案 0 :(得分:0)
你得到的结果是:
panel1.Dock = DockStyle.Top;
因此,您添加的每个面板都会添加到顶部。你能以相反的顺序添加面板吗?这将是一个快速的解决方案,否则您可以查看TableLayoutPanel或FlowLayoutPanel,如果这对您的问题是一个有用的方法。
答案 1 :(得分:0)
您需要更改z顺序以更改停靠面板的顺序。不打算更改大量代码的最佳选择是使用:
Block 1:
<<A
B
C
D
E
F
>>
Block 2:
<<A
B
C
D
E
F
>>
或者
panel1.BringToFront();
取决于您想要的顺序
这需要在 之后 将其添加到panel1.SendToBack();
(即mainPanel
行之后)
答案 2 :(得分:0)
尝试使用panel1.Dock = DockStyle.Bottom;
intead:panel1.Dock = DockStyle.Top;