FlowLayoutPanel Class
Assembly: System.Windows.Forms (in system.windows.forms.dll)
'Declaration <ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _ <ComVisibleAttribute(True)> _ Public Class FlowLayoutPanel Inherits Panel Implements IExtenderProvider 'Usage Dim instance As FlowLayoutPanel
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ /** @attribute ComVisibleAttribute(true) */ public class FlowLayoutPanel extends Panel implements IExtenderProvider
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) ComVisibleAttribute(true) public class FlowLayoutPanel extends Panel implements IExtenderProvider
The FlowLayoutPanel control arranges its contents in a horizontal or vertical flow direction. Its contents can be wrapped from one row to the next, or from one column to the next. Alternatively, its contents can be clipped instead of wrapped.
You can specify the flow direction by setting the value of the FlowDirection property. The FlowLayoutPanel control correctly reverses its flow direction in right-to-left (RTL) layouts. You can also specify whether the contents of the FlowLayoutPanel control are wrapped or clipped by setting the value of the WrapContents property.
Any Windows Forms control, including other instances of FlowLayoutPanel, can be a child of the FlowLayoutPanel control. With this capability, you can construct sophisticated layouts that adapt to your form's dimensions at run time.
Docking and anchoring behaviors of child controls differ from the behaviors in other container controls. Both docking and anchoring are relative to the largest control in the flow direction. For more information, see How to: Anchor and Dock Child Controls in a FlowLayoutPanel Control.
The following example shows how to set the FlowDirection and WrapContents properties on a FlowLayoutPanel control.
Imports System Imports System.Windows.Forms Public Class Form1 Inherits System.Windows.Forms.Form Private Sub wrapContentsCheckBox_CheckedChanged( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles wrapContentsCheckBox.CheckedChanged Me.FlowLayoutPanel1.WrapContents = Me.wrapContentsCheckBox.Checked End Sub Private Sub flowTopDownBtn_CheckedChanged( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles flowTopDownBtn.CheckedChanged Me.FlowLayoutPanel1.FlowDirection = FlowDirection.TopDown End Sub Private Sub flowBottomUpBtn_CheckedChanged( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles flowBottomUpBtn.CheckedChanged Me.FlowLayoutPanel1.FlowDirection = FlowDirection.BottomUp End Sub Private Sub flowLeftToRight_CheckedChanged( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles flowLeftToRight.CheckedChanged Me.FlowLayoutPanel1.FlowDirection = FlowDirection.LeftToRight End Sub Private Sub flowRightToLeftBtn_CheckedChanged( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles flowRightToLeftBtn.CheckedChanged Me.FlowLayoutPanel1.FlowDirection = FlowDirection.RightToLeft End Sub #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub Friend WithEvents FlowLayoutPanel1 As System.Windows.Forms.FlowLayoutPanel Friend WithEvents wrapContentsCheckBox As System.Windows.Forms.CheckBox Friend WithEvents flowTopDownBtn As System.Windows.Forms.RadioButton Friend WithEvents flowBottomUpBtn As System.Windows.Forms.RadioButton Friend WithEvents flowLeftToRight As System.Windows.Forms.RadioButton Friend WithEvents flowRightToLeftBtn As System.Windows.Forms.RadioButton Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents Button2 As System.Windows.Forms.Button Friend WithEvents Button3 As System.Windows.Forms.Button Friend WithEvents Button4 As System.Windows.Forms.Button 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. <System.Diagnostics.DebuggerNonUserCode()> Private Sub InitializeComponent() Me.FlowLayoutPanel1 = New System.Windows.Forms.FlowLayoutPanel Me.wrapContentsCheckBox = New System.Windows.Forms.CheckBox Me.flowTopDownBtn = New System.Windows.Forms.RadioButton Me.flowBottomUpBtn = New System.Windows.Forms.RadioButton Me.flowLeftToRight = New System.Windows.Forms.RadioButton Me.flowRightToLeftBtn = New System.Windows.Forms.RadioButton Me.Button1 = New System.Windows.Forms.Button Me.Button2 = New System.Windows.Forms.Button Me.Button3 = New System.Windows.Forms.Button Me.Button4 = New System.Windows.Forms.Button Me.FlowLayoutPanel1.SuspendLayout() Me.SuspendLayout() ' 'FlowLayoutPanel1 ' Me.FlowLayoutPanel1.Controls.Add(Me.Button1) Me.FlowLayoutPanel1.Controls.Add(Me.Button2) Me.FlowLayoutPanel1.Controls.Add(Me.Button3) Me.FlowLayoutPanel1.Controls.Add(Me.Button4) Me.FlowLayoutPanel1.Location = New System.Drawing.Point(47, 55) Me.FlowLayoutPanel1.Name = "FlowLayoutPanel1" Me.FlowLayoutPanel1.TabIndex = 0 ' 'wrapContentsCheckBox ' Me.wrapContentsCheckBox.Location = New System.Drawing.Point(46, 162) Me.wrapContentsCheckBox.Name = "wrapContentsCheckBox" Me.wrapContentsCheckBox.TabIndex = 1 Me.wrapContentsCheckBox.Text = "Wrap Contents" ' 'flowTopDownBtn ' Me.flowTopDownBtn.Location = New System.Drawing.Point(45, 193) Me.flowTopDownBtn.Name = "flowTopDownBtn" Me.flowTopDownBtn.TabIndex = 2 Me.flowTopDownBtn.Text = "Flow TopDown" ' 'flowBottomUpBtn ' Me.flowBottomUpBtn.Location = New System.Drawing.Point(44, 224) Me.flowBottomUpBtn.Name = "flowBottomUpBtn" Me.flowBottomUpBtn.TabIndex = 3 Me.flowBottomUpBtn.Text = "Flow BottomUp" ' 'flowLeftToRight ' Me.flowLeftToRight.Location = New System.Drawing.Point(156, 193) Me.flowLeftToRight.Name = "flowLeftToRight" Me.flowLeftToRight.TabIndex = 4 Me.flowLeftToRight.Text = "Flow LeftToRight" ' 'flowRightToLeftBtn ' Me.flowRightToLeftBtn.Location = New System.Drawing.Point(155, 224) Me.flowRightToLeftBtn.Name = "flowRightToLeftBtn" Me.flowRightToLeftBtn.TabIndex = 5 Me.flowRightToLeftBtn.Text = "Flow RightToLeft" ' 'Button1 ' Me.Button1.Location = New System.Drawing.Point(3, 3) Me.Button1.Name = "Button1" Me.Button1.TabIndex = 0 Me.Button1.Text = "Button1" ' 'Button2 ' Me.Button2.Location = New System.Drawing.Point(84, 3) Me.Button2.Name = "Button2" Me.Button2.TabIndex = 1 Me.Button2.Text = "Button2" ' 'Button3 ' Me.Button3.Location = New System.Drawing.Point(3, 32) Me.Button3.Name = "Button3" Me.Button3.TabIndex = 2 Me.Button3.Text = "Button3" ' 'Button4 ' Me.Button4.Location = New System.Drawing.Point(84, 32) Me.Button4.Name = "Button4" Me.Button4.TabIndex = 3 Me.Button4.Text = "Button4" ' 'Form1 ' Me.ClientSize = New System.Drawing.Size(292, 266) Me.Controls.Add(Me.flowRightToLeftBtn) Me.Controls.Add(Me.flowLeftToRight) Me.Controls.Add(Me.flowBottomUpBtn) Me.Controls.Add(Me.flowTopDownBtn) Me.Controls.Add(Me.wrapContentsCheckBox) Me.Controls.Add(Me.FlowLayoutPanel1) Me.Name = "Form1" Me.Text = "Form1" Me.FlowLayoutPanel1.ResumeLayout(False) Me.ResumeLayout(False) End Sub Friend Shared ReadOnly Property GetInstance() As Form1 Get If m_DefaultInstance Is Nothing OrElse m_DefaultInstance.IsDisposed() Then SyncLock m_SyncObject If m_DefaultInstance Is Nothing OrElse m_DefaultInstance.IsDisposed() Then m_DefaultInstance = New Form1 End If End SyncLock End If Return m_DefaultInstance End Get End Property Private Shared m_DefaultInstance As Form1 Private Shared m_SyncObject As New Object #End Region End Class
import System.*;
import System.Windows.Forms.*;
public class Form1 extends System.Windows.Forms.Form
{
private void wrapContentsCheckBox_CheckedChanged(Object sender,
System.EventArgs e)
{
this.flowLayoutPanel1.set_WrapContents(this.wrapContentsCheckBox.
get_Checked());
} //wrapContentsCheckBox_CheckedChanged
private void flowTopDownBtn_CheckedChanged(Object sender,
System.EventArgs e)
{
this.flowLayoutPanel1.set_FlowDirection(FlowDirection.TopDown);
} //flowTopDownBtn_CheckedChanged
private void flowBottomUpBtn_CheckedChanged(Object sender,
System.EventArgs e)
{
this.flowLayoutPanel1.set_FlowDirection(FlowDirection.BottomUp);
} //flowBottomUpBtn_CheckedChanged
private void flowLeftToRight_CheckedChanged(Object sender,
System.EventArgs e)
{
this.flowLayoutPanel1.set_FlowDirection(FlowDirection.LeftToRight);
} //flowLeftToRight_CheckedChanged
private void flowRightToLeftBtn_CheckedChanged(Object sender,
System.EventArgs e)
{
this.flowLayoutPanel1.set_FlowDirection(FlowDirection.RightToLeft);
} //flowRightToLeftBtn_CheckedChanged
#region " Windows Form Designer generated code "
public Form1()
{
//This call is required by the Windows Form Designer.
InitializeComponent();
} //Form1
//Add any initialization after the InitializeComponent() call
//Form overrides dispose to clean up the component list.
protected void Dispose(boolean disposing)
{
if (disposing) {
if (components != null) {
components.Dispose();
}
}
super.Dispose(disposing);
} //Dispose
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
private System.Windows.Forms.CheckBox wrapContentsCheckBox;
private System.Windows.Forms.RadioButton flowTopDownBtn;
private System.Windows.Forms.RadioButton flowBottomUpBtn;
private System.Windows.Forms.RadioButton flowLeftToRight;
private System.Windows.Forms.RadioButton flowRightToLeftBtn;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button4;
//Required by the Windows Form Designer
private System.ComponentModel.IContainer components;
//NOTE: The following procedure is required by the Windows Form Designer
//It can be modified using the Windows Form Designer.
//Do not modify it using the code editor.
/** @attribute System.Diagnostics.DebuggerNonUserCode()
*/
private void InitializeComponent()
{
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
this.wrapContentsCheckBox = new System.Windows.Forms.CheckBox();
this.flowTopDownBtn = new System.Windows.Forms.RadioButton();
this.flowBottomUpBtn = new System.Windows.Forms.RadioButton();
this.flowLeftToRight = new System.Windows.Forms.RadioButton();
this.flowRightToLeftBtn = new System.Windows.Forms.RadioButton();
this.flowLayoutPanel1.SuspendLayout();
this.SuspendLayout();
//
// flowLayoutPanel1
//
this.flowLayoutPanel1.get_Controls().Add(this.button1);
this.flowLayoutPanel1.get_Controls().Add(this.button2);
this.flowLayoutPanel1.get_Controls().Add(this.button3);
this.flowLayoutPanel1.get_Controls().Add(this.button4);
this.flowLayoutPanel1.set_Location(new System.Drawing.Point(47, 55));
this.flowLayoutPanel1.set_Name("flowLayoutPanel1");
this.flowLayoutPanel1.set_TabIndex(0);
//
// button1
//
this.button1.set_Location(new System.Drawing.Point(3, 3));
this.button1.set_Name("button1");
this.button1.set_TabIndex(0);
this.button1.set_Text("button1");
//
// button2
//
this.button2.set_Location(new System.Drawing.Point(84, 3));
this.button2.set_Name("button2");
this.button2.set_TabIndex(1);
this.button2.set_Text("button2");
//
// button3
//
this.button3.set_Location(new System.Drawing.Point(3, 32));
this.button3.set_Name("button3");
this.button3.set_TabIndex(2);
this.button3.set_Text("button3");
//
// button4
//
this.button4.set_Location(new System.Drawing.Point(84, 32));
this.button4.set_Name("button4");
this.button4.set_TabIndex(3);
this.button4.set_Text("button4");
//
// wrapContentsCheckBox
//
this.wrapContentsCheckBox.set_Location(new System.Drawing.Point(46, 162));
this.wrapContentsCheckBox.set_Name("wrapContentsCheckBox");
this.wrapContentsCheckBox.set_TabIndex(1);
this.wrapContentsCheckBox.set_Text("Wrap Contents");
this.wrapContentsCheckBox.add_CheckedChanged(new System.EventHandler(
this.wrapContentsCheckBox_CheckedChanged));
//
// flowTopDownBtn
//
this.flowTopDownBtn.set_Location(new System.Drawing.Point(45, 193));
this.flowTopDownBtn.set_Name("flowTopDownBtn");
this.flowTopDownBtn.set_TabIndex(2);
this.flowTopDownBtn.set_Text("Flow TopDown");
this.flowTopDownBtn.add_CheckedChanged(new System.EventHandler(
this.flowTopDownBtn_CheckedChanged));
//
// flowBottomUpBtn
//
this.flowBottomUpBtn.set_Location(new System.Drawing.Point(44, 224));
this.flowBottomUpBtn.set_Name("flowBottomUpBtn");
this.flowBottomUpBtn.set_TabIndex(3);
this.flowBottomUpBtn.set_Text("Flow BottomUp");
this.flowBottomUpBtn.add_CheckedChanged(new System.EventHandler(
this.flowBottomUpBtn_CheckedChanged));
//
// flowLeftToRight
//
this.flowLeftToRight.set_Location(new System.Drawing.Point(156, 193));
this.flowLeftToRight.set_Name("flowLeftToRight");
this.flowLeftToRight.set_TabIndex(4);
this.flowLeftToRight.set_Text("Flow LeftToRight");
this.flowLeftToRight.add_CheckedChanged(new System.EventHandler(
this.flowLeftToRight_CheckedChanged));
//
// flowRightToLeftBtn
//
this.flowRightToLeftBtn.set_Location(new System.Drawing.Point(155, 224));
this.flowRightToLeftBtn.set_Name("flowRightToLeftBtn");
this.flowRightToLeftBtn.set_TabIndex(5);
this.flowRightToLeftBtn.set_Text("Flow RightToLeft");
this.flowRightToLeftBtn.add_CheckedChanged(new System.EventHandler(
this.flowRightToLeftBtn_CheckedChanged));
//
// Form1
//
this.set_ClientSize(new System.Drawing.Size(292, 266));
this.get_Controls().Add(this.flowRightToLeftBtn);
this.get_Controls().Add(this.flowLeftToRight);
this.get_Controls().Add(this.flowBottomUpBtn);
this.get_Controls().Add(this.flowTopDownBtn);
this.get_Controls().Add(this.wrapContentsCheckBox);
this.get_Controls().Add(this.flowLayoutPanel1);
this.set_Name("Form1");
this.set_Text("Form1");
this.flowLayoutPanel1.ResumeLayout(false);
this.ResumeLayout(false);
} //InitializeComponent
#endregion
} //Form1
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.ScrollableControl
System.Windows.Forms.Panel
System.Windows.Forms.FlowLayoutPanel
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.