public ref class FlowLayoutPanel : System::Windows::Forms::Panel, System::ComponentModel::IExtenderProvider
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Windows.Forms.Docking(System.Windows.Forms.DockingBehavior.Ask)]
public class FlowLayoutPanel : System.Windows.Forms.Panel, System.ComponentModel.IExtenderProvider
[System.Windows.Forms.Docking(System.Windows.Forms.DockingBehavior.Ask)]
public class FlowLayoutPanel : System.Windows.Forms.Panel, System.ComponentModel.IExtenderProvider
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Windows.Forms.Docking(System.Windows.Forms.DockingBehavior.Ask)>]
type FlowLayoutPanel = class
inherit Panel
interface IExtenderProvider
[<System.Windows.Forms.Docking(System.Windows.Forms.DockingBehavior.Ask)>]
type FlowLayoutPanel = class
inherit Panel
interface IExtenderProvider
Public Class FlowLayoutPanel
Inherits Panel
Implements IExtenderProvider
FlowLayoutPanel
下列範例示範如何在控件上
FlowLayoutPanel
設定
FlowDirection
和
WrapContents
屬性。 將程式代碼貼到 Form1 原始程式檔中。 如果您的專案包含名為 Form1 的檔案。Designer.cs 或 Form1。Designer.vb,從專案中移除該檔案。 您可能需要按下 方案總管 中的 [
顯示所有檔案
] 按鈕,以查看設計工具檔案。
#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
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
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
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
FlowLayoutPanel
控制項會以水平或垂直的流動方向來排列其內容。 其內容可以從某一資料列換行至下一個資料列,或從某一資料行換行至下一個資料行。 或者,也可以裁剪其內容,而不是包裝。
您可以設定
FlowDirection
屬性的值來指定文字方向。 控件
FlowLayoutPanel
會正確反轉其從右至左 (RTL) 版面配置中的流程方向。 您也可以藉由設定 屬性的值
WrapContents
來指定控制項的內容
FlowLayoutPanel
是否已包裝或裁剪。
任何 Windows Forms 控件,包括的其他實例
FlowLayoutPanel
,都可以是 控件的
FlowLayoutPanel
子系。 使用這項功能,您可以建構複雜的配置,以在執行階段調整為表單的維度。
子控制項的停駐和錨定行為,和其他容器控制項的行為不一樣。 停駐和錨定是相對於文字方向中的最大控制項。 如需詳細資訊,請參閱
如何:錨定和停駐 FlowLayoutPanel 控件中的子控件
。