Represents a panel that dynamically lays out its contents horizontally or vertically.
Namespace:
System.Windows.Forms
Assembly:
System.Windows.Forms (in System.Windows.Forms.dll)
Visual Basic (Declaration)
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
<DockingAttribute(DockingBehavior.Ask)> _
<ComVisibleAttribute(True)> _
Public Class FlowLayoutPanel _
Inherits Panel _
Implements IExtenderProvider
Dim instance As FlowLayoutPanel
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[DockingAttribute(DockingBehavior.Ask)]
[ComVisibleAttribute(true)]
public class FlowLayoutPanel : Panel,
IExtenderProvider
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]
[DockingAttribute(DockingBehavior::Ask)]
[ComVisibleAttribute(true)]
public ref class FlowLayoutPanel : public Panel,
IExtenderProvider
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. Paste the code into the Form1 source file. If your project contains a file named Form1.Designer.cs or Form1.Designer.vb, remove that file from the project. You may need to click the Show All Files button in Solution Explorer to see the designer file.
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 (components IsNot 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
using System;
using System.Windows.Forms;
public class Form1 : System.Windows.Forms.Form
{
private void wrapContentsCheckBox_CheckedChanged(
System.Object sender,
System.EventArgs e)
{
this.FlowLayoutPanel1.WrapContents =
this.wrapContentsCheckBox.Checked;
}
private void flowTopDownBtn_CheckedChanged(
System.Object sender,
System.EventArgs e)
{
this.FlowLayoutPanel1.FlowDirection = FlowDirection.TopDown;
}
private void flowBottomUpBtn_CheckedChanged(
System.Object sender,
System.EventArgs e)
{
this.FlowLayoutPanel1.FlowDirection = FlowDirection.BottomUp;
}
private void flowLeftToRight_CheckedChanged(
System.Object sender,
System.EventArgs e)
{
this.FlowLayoutPanel1.FlowDirection = FlowDirection.LeftToRight;
}
private void flowRightToLeftBtn_CheckedChanged(
System.Object sender,
System.EventArgs e)
{
this.FlowLayoutPanel1.FlowDirection = FlowDirection.RightToLeft;
}
#region " Windows Form Designer generated code "
public Form1() : base()
{
//This call is required by the Windows Form Designer.
InitializeComponent();
//Add any initialization after the InitializeComponent() call
}
//Form overrides dispose to clean up the component list.
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
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.
[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.Controls.Add(this.Button1);
this.FlowLayoutPanel1.Controls.Add(this.Button2);
this.FlowLayoutPanel1.Controls.Add(this.Button3);
this.FlowLayoutPanel1.Controls.Add(this.Button4);
this.FlowLayoutPanel1.Location = new System.Drawing.Point(47, 55);
this.FlowLayoutPanel1.Name = "FlowLayoutPanel1";
this.FlowLayoutPanel1.TabIndex = 0;
//
// Button1
//
this.Button1.Location = new System.Drawing.Point(3, 3);
this.Button1.Name = "Button1";
this.Button1.TabIndex = 0;
this.Button1.Text = "Button1";
//
// Button2
//
this.Button2.Location = new System.Drawing.Point(84, 3);
this.Button2.Name = "Button2";
this.Button2.TabIndex = 1;
this.Button2.Text = "Button2";
//
// Button3
//
this.Button3.Location = new System.Drawing.Point(3, 32);
this.Button3.Name = "Button3";
this.Button3.TabIndex = 2;
this.Button3.Text = "Button3";
//
// Button4
//
this.Button4.Location = new System.Drawing.Point(84, 32);
this.Button4.Name = "Button4";
this.Button4.TabIndex = 3;
this.Button4.Text = "Button4";
//
// wrapContentsCheckBox
//
this.wrapContentsCheckBox.Location = new System.Drawing.Point(46, 162);
this.wrapContentsCheckBox.Name = "wrapContentsCheckBox";
this.wrapContentsCheckBox.TabIndex = 1;
this.wrapContentsCheckBox.Text = "Wrap Contents";
this.wrapContentsCheckBox.CheckedChanged += new System.EventHandler(this.wrapContentsCheckBox_CheckedChanged);
//
// flowTopDownBtn
//
this.flowTopDownBtn.Location = new System.Drawing.Point(45, 193);
this.flowTopDownBtn.Name = "flowTopDownBtn";
this.flowTopDownBtn.TabIndex = 2;
this.flowTopDownBtn.Text = "Flow TopDown";
this.flowTopDownBtn.CheckedChanged += new System.EventHandler(this.flowTopDownBtn_CheckedChanged);
//
// flowBottomUpBtn
//
this.flowBottomUpBtn.Location = new System.Drawing.Point(44, 224);
this.flowBottomUpBtn.Name = "flowBottomUpBtn";
this.flowBottomUpBtn.TabIndex = 3;
this.flowBottomUpBtn.Text = "Flow BottomUp";
this.flowBottomUpBtn.CheckedChanged += new System.EventHandler(this.flowBottomUpBtn_CheckedChanged);
//
// flowLeftToRight
//
this.flowLeftToRight.Location = new System.Drawing.Point(156, 193);
this.flowLeftToRight.Name = "flowLeftToRight";
this.flowLeftToRight.TabIndex = 4;
this.flowLeftToRight.Text = "Flow LeftToRight";
this.flowLeftToRight.CheckedChanged += new System.EventHandler(this.flowLeftToRight_CheckedChanged);
//
// flowRightToLeftBtn
//
this.flowRightToLeftBtn.Location = new System.Drawing.Point(155, 224);
this.flowRightToLeftBtn.Name = "flowRightToLeftBtn";
this.flowRightToLeftBtn.TabIndex = 5;
this.flowRightToLeftBtn.Text = "Flow RightToLeft";
this.flowRightToLeftBtn.CheckedChanged += new System.EventHandler(this.flowRightToLeftBtn_CheckedChanged);
//
// Form1
//
this.ClientSize = new System.Drawing.Size(292, 266);
this.Controls.Add(this.flowRightToLeftBtn);
this.Controls.Add(this.flowLeftToRight);
this.Controls.Add(this.flowBottomUpBtn);
this.Controls.Add(this.flowTopDownBtn);
this.Controls.Add(this.wrapContentsCheckBox);
this.Controls.Add(this.FlowLayoutPanel1);
this.Name = "Form1";
this.Text = "Form1";
this.FlowLayoutPanel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
}
#using <System.Windows.Forms.dll>
#using <System.dll>
#using <System.Drawing.dll>
using namespace System;
using namespace System::Windows::Forms;
public ref class Form1 : public System::Windows::Forms::Form
{
private:
void wrapContentsCheckBox_CheckedChanged(
System::Object^ sender, System::EventArgs^ e)
{
this->flowLayoutPanel1->WrapContents =
this->wrapContentsCheckBox->Checked;
}
private:
void flowTopDownBtn_CheckedChanged(System::Object^ sender,
System::EventArgs^ e)
{
this->flowLayoutPanel1->FlowDirection = FlowDirection::TopDown;
}
private:
void flowBottomUpBtn_CheckedChanged(System::Object^ sender,
System::EventArgs^ e)
{
this->flowLayoutPanel1->FlowDirection = FlowDirection::BottomUp;
}
private:
void flowLeftToRight_CheckedChanged(System::Object^ sender,
System::EventArgs^ e)
{
this->flowLayoutPanel1->FlowDirection =
FlowDirection::LeftToRight;
}
private:
void flowRightToLeftBtn_CheckedChanged(
System::Object^ sender, System::EventArgs^ e)
{
this->flowLayoutPanel1->FlowDirection =
FlowDirection::RightToLeft;
}
#pragma region " Windows Form Designer generated code "
public:
Form1(void)
{
// This call is required by the Windows Form Designer.
InitializeComponent();
// Add any initialization after the InitializeComponent()
// call
}
// Form overrides dispose to clean up the component list.
protected:
~Form1()
{
if (components != nullptr)
{
delete components;
}
}
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.
private:
[System::Diagnostics::DebuggerNonUserCode]
void InitializeComponent()
{
this->flowLayoutPanel1 =
gcnew System::Windows::Forms::FlowLayoutPanel();
this->button1 = gcnew System::Windows::Forms::Button();
this->button2 = gcnew System::Windows::Forms::Button();
this->button3 = gcnew System::Windows::Forms::Button();
this->button4 = gcnew System::Windows::Forms::Button();
this->wrapContentsCheckBox =
gcnew System::Windows::Forms::CheckBox();
this->flowTopDownBtn = gcnew System::Windows::Forms::RadioButton();
this->flowBottomUpBtn =
gcnew System::Windows::Forms::RadioButton();
this->flowLeftToRight =
gcnew System::Windows::Forms::RadioButton();
this->flowRightToLeftBtn =
gcnew System::Windows::Forms::RadioButton();
this->flowLayoutPanel1->SuspendLayout();
this->SuspendLayout();
//
// flowLayoutPanel1
//
this->flowLayoutPanel1->Controls->Add(this->button1);
this->flowLayoutPanel1->Controls->Add(this->button2);
this->flowLayoutPanel1->Controls->Add(this->button3);
this->flowLayoutPanel1->Controls->Add(this->button4);
this->flowLayoutPanel1->Location =
System::Drawing::Point(47, 55);
this->flowLayoutPanel1->Name = "flowLayoutPanel1";
this->flowLayoutPanel1->TabIndex = 0;
//
// button1
//
this->button1->Location = System::Drawing::Point(3, 3);
this->button1->Name = "button1";
this->button1->TabIndex = 0;
this->button1->Text = "button1";
//
// button2
//
this->button2->Location = System::Drawing::Point(84, 3);
this->button2->Name = "button2";
this->button2->TabIndex = 1;
this->button2->Text = "button2";
//
// button3
//
this->button3->Location = System::Drawing::Point(3, 32);
this->button3->Name = "button3";
this->button3->TabIndex = 2;
this->button3->Text = "button3";
//
// button4
//
this->button4->Location = System::Drawing::Point(84, 32);
this->button4->Name = "button4";
this->button4->TabIndex = 3;
this->button4->Text = "button4";
//
// wrapContentsCheckBox
//
this->wrapContentsCheckBox->Location =
System::Drawing::Point(46, 162);
this->wrapContentsCheckBox->Name = "wrapContentsCheckBox";
this->wrapContentsCheckBox->TabIndex = 1;
this->wrapContentsCheckBox->Text = "Wrap Contents";
this->wrapContentsCheckBox->CheckedChanged +=
gcnew System::EventHandler(
this, &Form1::wrapContentsCheckBox_CheckedChanged);
//
// flowTopDownBtn
//
this->flowTopDownBtn->Location =
System::Drawing::Point(45, 193);
this->flowTopDownBtn->Name = "flowTopDownBtn";
this->flowTopDownBtn->TabIndex = 2;
this->flowTopDownBtn->Text = "Flow TopDown";
this->flowTopDownBtn->CheckedChanged +=
gcnew System::EventHandler(
this, &Form1::flowTopDownBtn_CheckedChanged);
//
// flowBottomUpBtn
//
this->flowBottomUpBtn->Location =
System::Drawing::Point(44, 224);
this->flowBottomUpBtn->Name = "flowBottomUpBtn";
this->flowBottomUpBtn->TabIndex = 3;
this->flowBottomUpBtn->Text = "Flow BottomUp";
this->flowBottomUpBtn->CheckedChanged +=
gcnew System::EventHandler(
this, &Form1::flowBottomUpBtn_CheckedChanged);
//
// flowLeftToRight
//
this->flowLeftToRight->Location =
System::Drawing::Point(156, 193);
this->flowLeftToRight->Name = "flowLeftToRight";
this->flowLeftToRight->TabIndex = 4;
this->flowLeftToRight->Text = "Flow LeftToRight";
this->flowLeftToRight->CheckedChanged +=
gcnew System::EventHandler(
this, &Form1::flowLeftToRight_CheckedChanged);
//
// flowRightToLeftBtn
//
this->flowRightToLeftBtn->Location =
System::Drawing::Point(155, 224);
this->flowRightToLeftBtn->Name = "flowRightToLeftBtn";
this->flowRightToLeftBtn->TabIndex = 5;
this->flowRightToLeftBtn->Text = "Flow RightToLeft";
this->flowRightToLeftBtn->CheckedChanged +=
gcnew System::EventHandler(
this, &Form1::flowRightToLeftBtn_CheckedChanged);
//
// Form1
//
this->AutoScaleBaseSize = System::Drawing::Size(5, 13);
this->ClientSize = System::Drawing::Size(292, 266);
this->Controls->Add(this->flowRightToLeftBtn);
this->Controls->Add(this->flowLeftToRight);
this->Controls->Add(this->flowBottomUpBtn);
this->Controls->Add(this->flowTopDownBtn);
this->Controls->Add(this->wrapContentsCheckBox);
this->Controls->Add(this->flowLayoutPanel1);
this->Name = "Form1";
this->Text = "Form1";
this->flowLayoutPanel1->ResumeLayout(false);
this->ResumeLayout(false);
}
#pragma endregion
};
System..::.Object
System..::.MarshalByRefObject
System.ComponentModel..::.Component
System.Windows.Forms..::.Control
System.Windows.Forms..::.ScrollableControl
System.Windows.Forms..::.Panel
System.Windows.Forms..::.FlowLayoutPanel
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
.NET Framework
Supported in: 3.5, 3.0, 2.0
Reference
Other Resources