System.Windows.Forms


.NET Framework 类库
FlowLayoutPanel 类

注意:此类在 .NET Framework 2.0 版中是新增的。

表示一个沿着水平或垂直方向动态排放其内容的面板。

命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)

语法

Visual Basic(声明)
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
<ComVisibleAttribute(True)> _
Public Class FlowLayoutPanel
    Inherits Panel
    Implements IExtenderProvider
Visual Basic(用法)
Dim instance As FlowLayoutPanel
C#
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
[ComVisibleAttribute(true)] 
public class FlowLayoutPanel : Panel, IExtenderProvider
C++
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)] 
[ComVisibleAttribute(true)] 
public ref class FlowLayoutPanel : public Panel, IExtenderProvider
J#
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
/** @attribute ComVisibleAttribute(true) */ 
public class FlowLayoutPanel extends Panel implements IExtenderProvider
JScript
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
ComVisibleAttribute(true) 
public class FlowLayoutPanel extends Panel implements IExtenderProvider
备注

FlowLayoutPanel 控件沿着水平或垂直流向排列其内容。它的内容可以从一行换到下一行或从一列换到下一列。或者,还可以对它的内容进行剪裁,而不是进行换行。

可以通过设置 FlowDirection 属性的值来指定流向。在从右向左 (RTL) 的布局中,FlowLayoutPanel 控件会相应地反转其流向。还可以通过设置 WrapContents 属性的值来指定是对 FlowLayoutPanel 控件的内容进行换行还是剪裁。

任何 Windows 窗体控件(包括 FlowLayoutPanel 的其他实例)都可以是 FlowLayoutPanel 控件的子级。使用此功能,可以构造在运行时能够根据窗体的尺寸进行相应调整的复杂布局。

子控件的停靠和锚定行为与其他容器控件的行为不同。停靠和锚定行为均相对于流向中的最大控件。有关更多信息,请参见 如何:在 FlowLayoutPanel 控件中锚定和停靠子控件

示例

下面的示例演示如何在 FlowLayoutPanel 控件上设置 FlowDirectionWrapContents 属性。

Visual Basic
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
C#
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
}
C++
#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
};
J#
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.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Control
         System.Windows.Forms.ScrollableControl
           System.Windows.Forms.Panel
            System.Windows.Forms.FlowLayoutPanel
线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。
平台

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

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0
请参见

标记 :


Page view tracker