我有一个面板,我以编程方式添加控件。我希望每个控件都远离其他控件,而不是留在它们之上。
为此我可以根据Panel
的大小计算每个控件的位置,但看起来有点奇怪。
有没有办法让控件添加到一行中,当它结束时,它们会被添加到另一行?
答案 0 :(得分:6)
您可以使用FlowLayoutPanel来实现您所描述的内容。它位于ToolBox中的Containers下。将方向设置为水平,它将从左向右流动,并在需要时进行换行。
答案 1 :(得分:2)
我相信WrapPanel类会执行您在WPF中描述的内容。或WinForms中的FlowLayoutPanel。
答案 2 :(得分:1)
您有几个选择。您可以使用其中一个容器,例如FlowLayoutPanel
或TableLayoutPanel
。您也可以将它们嵌套在一起。您必须为添加到容器的每个控件设置Margin
属性。
可悲的是,Windows Forms技术在这方面缺乏一点,而WPF有一个非常丰富的布局系统。甚至像Margin
这样的某些东西并不总是按预期工作。