次の方法で共有


Control.CreateControlCollection メソッド

サーバー コントロールの子コントロール (リテラルおよびサーバーの両方) を保持する新しい ControlCollection オブジェクトを作成します。

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
Protected Overridable Function CreateControlCollection As ControlCollection
'使用
Dim returnValue As ControlCollection

returnValue = Me.CreateControlCollection
protected virtual ControlCollection CreateControlCollection ()
protected:
virtual ControlCollection^ CreateControlCollection ()
protected ControlCollection CreateControlCollection ()
protected function CreateControlCollection () : ControlCollection
適用できません。

戻り値

現在のサーバー コントロールの子サーバー コントロールを格納する ControlCollection オブジェクト。

解説

ControlCollection クラスから派生したコレクション オブジェクトを既に作成している場合には、カスタム サーバー コントロールのこのメソッドをオーバーライドします。このメソッドのオーバーライドでコレクション クラスをインスタンス化できます。

使用例

CreateControlCollection メソッドをオーバーライドして、ControlCollection クラスを継承する CustomControlCollection クラスのインスタンスを作成するコード例を次に示します。

' Override the CreateControlCollection method to 
' write to the Trace object when tracing is enabled
' for the page or application in which this control
' is included.   
Protected Overrides Function CreateControlCollection() As ControlCollection
    Return New CustomControlCollection(Me)
End Function
// Override the CreateControlCollection method to 
// write to the Trace object when tracing is enabled
// for the page or application in which this control
// is included.   
protected override ControlCollection CreateControlCollection()
{
    return new CustomControlCollection(this);
}

CreateChildControls メソッドのカスタム サーバー コントロール オーバーライドで CreateControlCollection メソッドを使用するコード例を次に示します。新しいコレクションが作成され、firstControlsecondControl の 2 つの子コントロールが設定されます。

Protected Overrides Sub CreateChildControls()
   ' Creates a new ControlCollection. 
   Me.CreateControlCollection()
   
   ' Create child controls.
   Dim firstControl As New ChildControl()
   firstControl.Message = "FirstChildControl"
   
   Dim secondControl As New ChildControl()
   secondControl.Message = "SecondChildControl"
   
   Controls.Add(firstControl)
   Controls.Add(secondControl)
   
   ' Prevent child controls from being created again.
   ChildControlsCreated = True
End Sub 'CreateChildControls

protected override void CreateChildControls()
{               
   // Creates a new ControlCollection. 
   this.CreateControlCollection();

   // Create child controls.
    ChildControl firstControl = new ChildControl();
   firstControl.Message = "FirstChildControl";

   ChildControl secondControl = new ChildControl();
   secondControl.Message = "SecondChildControl";
   
   Controls.Add(firstControl);
   Controls.Add(secondControl);

   // Prevent child controls from being created again.
   ChildControlsCreated = true;
}

プラットフォーム

Windows 98,Windows Server 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

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

Control クラス
Control メンバ
System.Web.UI 名前空間
ControlCollection