我有一个面板,我以编程方式向它添加控件。我希望每个控件都远离其他控件,而不是停留在它们之上。
为此,我可以根据Panel
的大小计算每个控件的位置,但这似乎有点奇怪。
有没有办法让控件被添加到一行中,当它结束时它们被添加到另一行中?
您可以使用 FlowLayoutPanel 来实现您所描述的内容。它位于工具箱中的容器下。将方向设置为水平,它将从左向右流动,并在需要时换行。
我相信WrapPanel类可以满足您在 WPF 中描述的功能。或者 WinForms 中的FlowLayoutPanel。
你有几个选择。您可以使用其中一种容器,例如FlowLayoutPanel
或TableLayoutPanel
。您也可以将它们嵌套在一起。您必须为Margin
添加到容器中的每个控件设置属性。
遗憾的是Windows Forms技术在这方面稍有欠缺,而WPF有非常丰富的布局系统。即使是这样的事情Margin
也并不总是按预期工作。