C# 在面板中以平铺模式自动排列控件

C# 在面板中以平铺模式自动排列控件,c#,winforms,panel,tile,C#,Winforms,Panel,Tile,我在一个面板中有许多按钮,我想重新排列它们以获得平铺 什么高效的算法可以做到这一点 更新 我正在搜索与Google图像结果页面中显示的缩略图相同的结果。FlowLayoutPanel使用FlowDirection=LeftToRight控件将为您完成此操作。您的意思是要优化布局,以便在每行末尾获得最少的浪费空间吗?如果是这样,你确定这是个好主意吗?通常,UI上按钮的位置与按钮的用途有关,因此执行类似操作的按钮被分组在一起。@这不会优化位置。@RenniePet是的,我实际上想优化位置。我想复制

我在一个
面板中有许多
按钮
,我想重新排列它们以获得平铺

什么高效的算法可以做到这一点

更新


我正在搜索与Google图像结果页面中显示的缩略图相同的结果。

FlowLayoutPanel
使用
FlowDirection=LeftToRight
控件将为您完成此操作。您的意思是要优化布局,以便在每行末尾获得最少的浪费空间吗?如果是这样,你确定这是个好主意吗?通常,UI上按钮的位置与按钮的用途有关,因此执行类似操作的按钮被分组在一起。@这不会优化位置。@RenniePet是的,我实际上想优化位置。我想复制类似云标签的东西。按钮是否有显示顺序优先级?是否预定义了边距,或者算法应调整边距以获得更好的结果?所有按钮的高度是否相同,或者算法应注意
x
y
轴上的排列?