Edit

Share via


Control.CreateControlCollection Method

Definition

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();

Returns

A ControlCollection object to contain the current server control's child server controls.

Examples

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

The following code example uses the CreateControlCollection method in a custom server control override of the CreateChildControls method. The 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;
}

Remarks

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.

Applies to

See also