NestedContainer NestedContainer NestedContainer NestedContainer Class

Definición

Proporciona la implementación base para la interfaz INestedContainer que permite que los contenedores tengan un componente propietario. Provides the base implementation for the INestedContainer interface, which enables containers to have an owning component.

public ref class NestedContainer : System::ComponentModel::Container, IDisposable, System::ComponentModel::INestedContainer
public class NestedContainer : System.ComponentModel.Container, IDisposable, System.ComponentModel.INestedContainer
type NestedContainer = class
    inherit Container
    interface INestedContainer
    interface IContainer
    interface IDisposable
Public Class NestedContainer
Inherits Container
Implements IDisposable, INestedContainer
Herencia
NestedContainerNestedContainerNestedContainerNestedContainer
Implementaciones

Comentarios

El NestedContainer clase es una implementación simple de la INestedContainer interfaz, que define un componente que contiene cero o más componentes de forma lógica y es propiedad de un componente primario.The NestedContainer class is a simple implementation of the INestedContainer interface, which defines a component that logically contains zero or more other components and is owned by a parent component. El comportamiento de los contenedores anidados difiere de un estándar Container en varios aspectos, incluido lo siguiente:The behavior of nested containers differs from a standard Container in a number of ways, including the following:

  • Características de sitio como DesignMode y GetService se enrutan a través del sitio del componente propietario.Site characteristics such as DesignMode and GetService are routed through the owning component's site.

  • La carpeta del sitio Name propiedad es un nombre completo que incluye el nombre del componente propietario seguido por un punto (.) y el nombre del componente secundario.The site's Name property is a qualified name that includes the owning component's name followed by a period (.) and the child component's name.

  • GetService proporciona compatibilidad para el INestedContainer como un servicio.GetService provides support for the INestedContainer as a service.

  • Cuando se desecha el componente propietario, también se elimina el contenedor.When the owning component is disposed, the container is disposed as well.

Además, los diseñadores tratan los contenedores anidados de forma diferente.In addition, designers treat nested containers differently. Solo está interesado en un contenedor de un host del diseñador, el único asociado con el host.A designer host is only interested in one container—the one associated with the host. Por lo tanto, el componente agregar y quitar eventos no se generan cuando un componente se agrega o quita de un contenedor anidado.Therefore, component add and remove events are not raised when a component is added to or removed from a nested container. Sin embargo, porque el flujo de servicios al contenedor anidado, se generan los eventos de cambio de componentes cuando se cambia un componente en un contenedor anidado.However, because services flow through to the nested container, component change events are raised when a component in a nested container is changed.

Esta disparidad en el seguimiento de eventos también afecta a la funcionalidad de deshacer, que está estrechamente relacionada con la serialización.This disparity in event tracking also impacts undo functionality, which is closely tied to serialization. Usa el motor para deshacer estándar IReferenceService para realizar el seguimiento de los cambios realizados en los componentes.The standard undo engine uses IReferenceService to track changes made to components. Si el motor para deshacer no puede identificar un nombre para un componente a través del servicio de referencia, el motor pasará por alto los cambios de ese componente.If the undo engine cannot identify a name for a component through the reference service, the engine will ignore any changes for that component. Este servicio reconoce automáticamente los cambios realizados en los componentes que contiene solo si estas se exponen como propiedades públicas de solo lectura del mismo nombre en sus propietarios.This service automatically recognizes changes to contained components only if they are exposed as public read-only properties of the same name in their owners. En caso contrario, el desarrollador debe pasar los eventos de cambio de componente hasta el propietario.Otherwise, the developer must pass component change events up to the owner. Por ejemplo, si un componente anidado Text propiedad se vuelve a exponerse en su componente propietario como una Address propiedad, cuando el Text se cambia la propiedad, se debe realizar mediante programación un cambio de propiedad correspondiente Address propiedad o de lo contrario, ese cambio no realizará el seguimiento de deshacer.For example, if a nested component's Text property is resurfaced on its owning component as an Address property, when the Text property is changed, a property change must be programmatically made for the corresponding Address property or else that change will not be tracked by undo.

Constructores

NestedContainer(IComponent) NestedContainer(IComponent) NestedContainer(IComponent) NestedContainer(IComponent)

Inicializa una nueva instancia de la clase NestedContainer. Initializes a new instance of the NestedContainer class.

Propiedades

Components Components Components Components

Obtiene todos los componentes de Container. Gets all the components in the Container.

(Inherited from Container)
Owner Owner Owner Owner

Obtiene el componente propietario de este contenedor anidado. Gets the owning component for this nested container.

OwnerName OwnerName OwnerName OwnerName

Obtiene el nombre del componente propietario. Gets the name of the owning component.

Métodos

Add(IComponent) Add(IComponent) Add(IComponent) Add(IComponent)

Agrega el objeto Component especificado a la colección Container. Adds the specified Component to the Container. El componente no tiene nombre. The component is unnamed.

(Inherited from Container)
Add(IComponent, String) Add(IComponent, String) Add(IComponent, String) Add(IComponent, String)

Agrega el Component especificado a Container y le asigna un nombre. Adds the specified Component to the Container and assigns it a name.

(Inherited from Container)
CreateSite(IComponent, String) CreateSite(IComponent, String) CreateSite(IComponent, String) CreateSite(IComponent, String)

Crea un sitio para el componente en el contenedor. Creates a site for the component within the container.

Dispose() Dispose() Dispose() Dispose()

Libera todos los recursos que usa Container. Releases all resources used by the Container.

(Inherited from Container)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libera los recursos utilizados por el contenedor anidado. Releases the resources used by the nested container.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual. Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada. Serves as the default hash function.

(Inherited from Object)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Obtiene el objeto de servicio del tipo especificado, si está disponible. Gets the service object of the specified type, if it is available.

GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual. Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del Object actual. Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(IComponent) Remove(IComponent) Remove(IComponent) Remove(IComponent)

Quita un componente del objeto Container. Removes a component from the Container.

(Inherited from Container)
RemoveWithoutUnsiting(IComponent) RemoveWithoutUnsiting(IComponent) RemoveWithoutUnsiting(IComponent) RemoveWithoutUnsiting(IComponent)

Quita un componente del objeto Container sin establecer Site en null. Removes a component from the Container without setting Site to null.

(Inherited from Container)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual. Returns a string that represents the current object.

(Inherited from Object)
ValidateName(IComponent, String) ValidateName(IComponent, String) ValidateName(IComponent, String) ValidateName(IComponent, String)

Determina si el nombre del componente es único para este contenedor. Determines whether the component name is unique for this container.

(Inherited from Container)

Se aplica a

Consultar también