Control.CreateChildControls メソッド

コンポジション ベースの実装を使用するすべてのサーバー コントロールに、ポスト バックまたは表示のための準備として、格納する子コントロールを作成するように通知します。

Protected Overridable Sub CreateChildControls()
[C#]
protected virtual void CreateChildControls();
[C++]
protected: virtual void CreateChildControls();
[JScript]
protected function CreateChildControls();

解説

複合コントロールまたはテンプレート宣言されたサーバー コントロールを開発する場合は、このメソッドをオーバーライドする必要があります。詳細については、「 テンプレート コントロールの開発 」および「 複合コントロールの開発 」を参照してください。

一般的にオーバーライドされる Control クラス メソッドの概要については、「 ASP.NET サーバー コントロールのメソッド 」を参照してください。

使用例

CreatChildControls メソッドのオーバーライドされたバージョンの例を次に示します。この実装では、複合コントロールは、HTML を表示する 2 つのリテラル コントロールに囲まれた TextBox コントロールを表示します。

 
' Override CreateChildControls to create the control tree.
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Sub CreateChildControls()
   
   ' Add a LiteralControl to the current ControlCollection.
   Me.Controls.Add(New LiteralControl("<h3>Value: "))
   
   
   ' Create a text box control, set the default Text property, 
   ' and add it to the ControlCollection.
   Dim box As New TextBox()
   box.Text = "0"
   Me.Controls.Add(box)
   
   Me.Controls.Add(New LiteralControl("</h3>"))
End Sub 'CreateChildControls

[C#] 
// Override CreateChildControls to create the control tree.
 [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
 protected override void CreateChildControls() {

     // Add a LiteralControl to the current ControlCollection.
     this.Controls.Add(new LiteralControl("<h3>Value: "));


     // Create a text box control, set the default Text property, 
     // and add it to the ControlCollection.
     TextBox box = new TextBox();
     box.Text = "0";
     this.Controls.Add(box);

     this.Controls.Add(new LiteralControl("</h3>"));
 }


[C++] 
// Override CreateChildControls to create the control tree.
protected:
[System::Security::Permissions::PermissionSet(System::Security::Permissions::SecurityAction::Demand, Name="FullTrust")]
void CreateChildControls() 
{
   // Add a LiteralControl to the current ControlCollection.
   this->Controls->Add(new LiteralControl(S"<h3>Value: "));

   // Create a text box control, set the default Text property,
   // and add it to the ControlCollection.
   TextBox* box = new TextBox();
   box->Text = S"0";
   this->Controls->Add(box);

   this->Controls->Add(new LiteralControl(S"</h3>"));
}

[JScript] 
// Override CreateChildControls to create the control tree.
 protected override function CreateChildControls() 
 {

     // Add a LiteralControl to the current ControlCollection.
     this.Controls.Add(new LiteralControl("<h3>Value: "));

     // Create a text box control, set the default Text property, 
     // and add it to the ControlCollection.
     var box : TextBox = new TextBox();
     box.Text = "0";
     this.Controls.Add(box);

     this.Controls.Add(new LiteralControl("</h3>"));
 }

必要条件

プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ

参照

Control クラス | Control メンバ | System.Web.UI 名前空間 | 複合コントロールの開発 | テンプレート コントロールの開発 | Controls | ControlCollection | ChildControlsCreated