The FlowLayoutPanel is a derived from the Panel control.
Like the Panel control, it is most commonly used to create container for group of similar controls. The FlowLayoutPanel dynamically repositions the controls it contains
when it is resized at either design time or run time unlike the Panel Control.
Because of which the control positions are automatically adjusted as the size and dimensions of the FlowLayoutPanel.
The FlowLayoutPanel is very similar to the FlowLayout panel as in Java.
The FlowLayoutPanel also supports Scroll.It is only enabled when the AutoScroll property is set to True.
It will keep on placing new controls one after the other in the Right-Left Order.
After the Controls reaches the end of the Current Row It will automatically break the flow and add the control in the next row below it in case where the FlowDirection is set to Left to Right or Right to Left.
If the WrapContents property is set to False It will stop wraping the contents and go on adding the Controls on the same row or column.
You can manually create Flow Breaks using the SetFlowBreak method of the FlowLayoutPanel Example .
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Adding 10 TextBoxes to the FlowLayout Panel
For index As Integer = 0 To 11
Dim txt As New TextBox()
txt.Name = "Txt " & (index + 1)
txt.Text = txt.Name
If index Mod 2 Then
FlowLayoutPanel1.SetFlowBreak(txt, True) 'Setting the FlowBreak at every Even index