flowlayputpanel columns and rows



如何查找按 flowlayoutpanel 排列的列和行数。

FlowLayoutPanel panelstandard = new FlowLayoutPanel();
panelstandard.Size = new Size(1130,150);
panelstandard.Location = new Point(20, 250);
panelstandard.BorderStyle = BorderStyle.FixedSingle;
panelstandard.FlowDirection = FlowDirection.LeftToRight;

你可以自己计算:

int row = 0;
int column = -1;
int left = panelstandard.Controls[0].Left;
foreach(Control control in panelstandard.Controls)
{
    // as soon as wrap occurs
    if(control.Left < left)
    {
        // new row
        row++;
        column = 0;
    }
    else
        column++;
    left = control.Left + control.Width; // next control expected left
    // here you know [row; column] of the control
}
// here you know total rows and columns

这不关心控制Margin,如果您使用 Dock 和/或 Anchor,则可能不起作用,但应该在一般情况下有效

最新更新