在 FlowLayoutPanel 中查找中断流的控件

Find controls that break the flow in FlowLayoutPanel

当向 FlowLayoutPanel 添加一些控件时,有什么方法可以找到导致换行中断的控件吗?

for(i=0;i!=100;i++){
  var userControl = new MyUserControl();
  myFlowLayoutPanel.Controls.Add(userControl);
} 

这 100 个 userControls 排列成 20 行和 5 列,因此第 1、5、15、..、第 100 个用户控件导致 myFlowLayoutPanel 换行。 我正在寻找一种方法来检测这些控件。

遗憾的是,没有方法或 属性 可以为您提供此信息,但您可以手动计算:

Control prevControl = null;
foreach (Control control in myFlowLayoutPanel.Controls)
{
     if (prevControl == null || prevControl.Left > control.Left)
     {          
          // line break
     }
     prevControl = control;
}