如何制作自动调节控制?

时间:2014-04-01 19:22:21

标签: c# .net vb.net winforms winapi

当我们动态地向网页添加控件时,它的位置会自动调整,一个控件不会放在另一个控件上。 我们可以在Windows窗体应用程序中执行相同操作。   我必须在现有获胜表单的最后添加动态标签,文本框和按钮。

1 个答案:

答案 0 :(得分:3)

查看FlowLayoutPanel控件。

  

表示一个水平或垂直动态布局其内容的面板。

当您放弃FlowLayoutPanel上的控件时,它会自动将它们彼此间隔开。如果您将其停靠在表单上,​​以便它随表单调整大小,那么它也会根据需要处理移动控件到下一行/列,因此它们不会隐藏在表单的边界之外。

enter image description here

如果要将某些控件组合在一起,请将它们放在Panel内,然后在FlowLayoutPanel内使用它。这里有一些代码可以证明:

for (var i = 0; i < 5; i++)
{
    var panel = new Panel { BorderStyle = BorderStyle.FixedSingle, Width = 100, BackColor = Color.LightBlue };

    panel.Controls.AddRange(
        new Control[]
    {
        new Label { Text = "Title", Location = new Point(0, 0) },
        new Label { Text = "Subtitle", Location = new Point(0, 25) }
    });

    flowLayoutPanel1.Controls.Add(panel);
}

enter image description here