Control.CreateControlCollection 方法

定義

建立新的 ControlCollection 物件來保存伺服器控制項的子控制項 (常值和伺服器)。Creates a new ControlCollection object to hold the child controls (both literal and server) of the server control.

protected:
 virtual System::Web::UI::ControlCollection ^ CreateControlCollection();
protected virtual System.Web.UI.ControlCollection CreateControlCollection ();
abstract member CreateControlCollection : unit -> System.Web.UI.ControlCollection
override this.CreateControlCollection : unit -> System.Web.UI.ControlCollection
Protected Overridable Function CreateControlCollection () As ControlCollection

傳回

ControlCollection 物件,包含目前伺服器控制項的子伺服器控制項。A ControlCollection object to contain the current server control's child server controls.

範例

下列程式碼範例會覆寫 CreateControlCollection 方法,以建立 CustomControlCollection 類別(繼承自 ControlCollection 類別)的實例。The following code example overrides the CreateControlCollection method to create an instance of a CustomControlCollection class, which inherits from the ControlCollection class.

// 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);
}
' 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

下列程式碼範例會在 CreateChildControls 方法的自訂伺服器控制項覆寫中使用 CreateControlCollection 方法。The following code example uses the CreateControlCollection method in a custom server control override of the CreateChildControls method. 隨即會建立新的集合,然後在其中填入兩個子控制項: firstControlsecondControlThe new collection is created, and then populated with two child controls, firstControl and secondControl.


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;
}

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


備註

如果您已建立衍生自 ControlCollection 類別的集合物件,請在自訂伺服器控制項中覆寫這個方法。Override this method in a custom server control if you have created a collection object that is derived from the ControlCollection class. 接著,您可以在這個方法的覆寫中,將該集合類別具現化。You can then instantiate that collection class in the override of this method.

適用於

另請參閱