NestedContainer Clase

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
NestedContainer
Implementaciones

Comentarios

La 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 Container estándar de varias maneras, incluidas las siguientes:The behavior of nested containers differs from a standard Container in a number of ways, including the following:

  • Las características DesignMode del sitio como GetService y 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 propiedad del Name sitio es un nombre completo que incluye el nombre del componente propietario seguido de 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.

  • GetServiceproporciona compatibilidad INestedContainer con como servicio.GetService provides support for the INestedContainer as a service.

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

Además, los diseñadores tratan los contenedores anidados de manera diferente.In addition, designers treat nested containers differently. Un host del diseñador solo está interesado en un contenedor: el asociado al host.A designer host is only interested in one container - the one associated with the host. Por lo tanto, los eventos agregar y quitar componentes no se generan cuando un componente se agrega o se 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, dado que los servicios fluyen a través del contenedor anidado, se generan eventos de cambio de componente 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 ligada a la serialización.This disparity in event tracking also impacts undo functionality, which is closely tied to serialization. El motor de deshacer IReferenceService estándar usa 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 omitirá cualquier cambio para 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 en los componentes contenidos solo si 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. De lo 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 Text la propiedad de un componente anidado se repone en su componente propietario como una Address propiedad, cuando se cambia la Text propiedad, se debe realizar mediante programación un cambio de propiedad para el Address correspondiente la propiedad o, de lo contrario, no se realizará un seguimiento de los cambios mediante 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)

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

Propiedades

Components

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

(Heredado de Container)
Owner

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

OwnerName

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

Métodos

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.

(Heredado de Container)
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.

(Heredado de Container)
CreateSite(IComponent, String)

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

Dispose()

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

(Heredado de Container)
Dispose(Boolean)

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

Equals(Object)

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

(Heredado de Object)
GetHashCode()

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

(Heredado de Object)
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()

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

(Heredado de Object)
MemberwiseClone()

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

(Heredado de Object)
Remove(IComponent)

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

(Heredado de Container)
RemoveWithoutUnsiting(IComponent)

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

(Heredado de Container)
ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
ValidateName(IComponent, String)

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

(Heredado de Container)

Se aplica a

Consulte también: