INestedContainer Interface


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Provides functionality for nested containers, which logically contain zero or more other components and are owned by a parent component.

Namespace:   System.ComponentModel
Assembly:  System (in System.dll)

public interface INestedContainer : IContainer, IDisposable


Gets all the components in the IContainer.(Inherited from IContainer.)


Gets the owning component for the nested container.


Adds the specified IComponent to the IContainer at the end of the list.(Inherited from IContainer.)

System_CAPS_pubmethodAdd(IComponent, String)

Adds the specified IComponent to the IContainer at the end of the list, and assigns a name to the component.(Inherited from IContainer.)


Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.(Inherited from IDisposable.)


Removes a component from the IContainer.(Inherited from IContainer.)

The INestedContainer interface adds the concept of an owning component to the IContainer interface. A nested container is an object that logically, but not necessarily visually, contains zero or more child components and is owned by some parent component. For visual containment, the owning component is often another container.

Nested containers allow sections of a control to be designable, without requiring an explicit serialized member variable or a custom serializer for each subcontrol. Instead, the form designer maintains one master container of components. Each component’s site may have a nested container that provides a place to put extra components. When a component is sited in a nested container, the name it receives is a combination of its given name and its owning component’s name. Additionally, components added to a nested container have full access to the services of the parent container, and the nested container provides the same behavior of the parent with respect to adding new components. The nested container will create the designer for each component it contains, thereby enabling design-time support. Because standard code serializers do not look at nested containers, these components are only serialized if a path to them can be obtained by walking the components in the primary container.

Nested containers can be found by querying a component's site for services of type INestedContainer.

.NET Framework
Available since 2.0
Return to top