如何以编程方式添加控件时使控件保持距离?

时间:2013-03-07 19:41:52

标签: c# winforms controls

我有一个面板,我以编程方式添加控件。我希望每个控件都远离其他控件,而不是留在它们之上。

为此我可以根据Panel的大小计算每个控件的位置,但看起来有点奇怪。

有没有办法让控件添加到一行中,当它结束时,它们会被添加到另一行?

3 个答案:

答案 0 :(得分:6)

您可以使用FlowLayoutPanel来实现您所描述的内容。它位于ToolBox中的Containers下。将方向设置为水平,它将从左向右流动,并在需要时进行换行。

答案 1 :(得分:2)

我相信WrapPanel类会执行您在WPF中描述的内容。或WinForms中的FlowLayoutPanel

答案 2 :(得分:1)

您有几个选择。您可以使用其中一个容器,例如FlowLayoutPanelTableLayoutPanel。您也可以将它们嵌套在一起。您必须为添加到容器的每个控件设置Margin属性。

可悲的是,Windows Forms技术在这方面缺乏一点,而WPF有一个非常丰富的布局系统。甚至像Margin这样的某些东西并不总是按预期工作。