NestedContainer Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona la implementación base para la interfaz INestedContainer que permite que los contenedores tengan un componente propietario.
public ref class NestedContainer : System::ComponentModel::Container, IDisposable, System::ComponentModel::IContainer, System::ComponentModel::INestedContainer
public ref class NestedContainer : System::ComponentModel::Container, IDisposable, System::ComponentModel::INestedContainer
public ref class NestedContainer : System::ComponentModel::Container, System::ComponentModel::INestedContainer
public class NestedContainer : System.ComponentModel.Container, IDisposable, System.ComponentModel.IContainer, System.ComponentModel.INestedContainer
public class NestedContainer : System.ComponentModel.Container, IDisposable, System.ComponentModel.INestedContainer
public class NestedContainer : System.ComponentModel.Container, System.ComponentModel.INestedContainer
type NestedContainer = class
inherit Container
interface IContainer
interface IDisposable
interface INestedContainer
type NestedContainer = class
inherit Container
interface INestedContainer
interface IContainer
interface IDisposable
Public Class NestedContainer
Inherits Container
Implements IContainer, IDisposable, INestedContainer
Public Class NestedContainer
Inherits Container
Implements IDisposable, INestedContainer
Public Class NestedContainer
Inherits Container
Implements INestedContainer
- Herencia
- Implementaciones
Comentarios
La NestedContainer clase es una implementación sencilla de la INestedContainer interfaz, que define un componente que contiene lógicamente cero o más componentes y es propiedad de un componente primario. El comportamiento de los contenedores anidados difiere de un estándar Container de varias maneras, incluido lo siguiente:
Las características del sitio, como DesignMode y GetService , se enrutan a través del sitio del componente propietario.
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.
GetService proporciona compatibilidad con como INestedContainer servicio.
Cuando se elimina el componente propietario, también se elimina el contenedor.
Además, los diseñadores tratan los contenedores anidados de forma diferente. Un host de diseñador solo está interesado en un contenedor: el asociado al host. Por lo tanto, los eventos de adición y eliminación de componentes no se generan cuando se agrega o quita un componente de un contenedor anidado. Sin embargo, dado que los servicios fluyen al contenedor anidado, los eventos de cambio de componente se generan cuando se cambia un componente de un contenedor anidado.
Esta disparidad en el seguimiento de eventos también afecta a la funcionalidad de deshacer, que está estrechamente vinculada a la serialización. El motor de deshacer estándar usa IReferenceService para realizar un seguimiento de los cambios realizados en los componentes. Si el motor de deshacer no puede identificar un nombre para un componente a través del servicio de referencia, el motor omitirá los cambios de ese componente. 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. De lo contrario, el desarrollador debe pasar eventos de cambio de componente hasta el propietario. Por ejemplo, si la propiedad de Text
un componente anidado se vuelve a buscar en su propio componente como una Address
propiedad, cuando se cambia la Text
propiedad, se debe realizar un cambio de propiedad mediante programación para la propiedad correspondiente Address
o, de lo contrario, la deshacer no realizará un seguimiento de ese cambio.
Constructores
NestedContainer(IComponent) |
Inicializa una nueva instancia de la clase NestedContainer. |
Propiedades
Components |
Obtiene todos los componentes de Container. (Heredado de Container) |
Owner |
Obtiene el componente propietario de este contenedor anidado. |
OwnerName |
Obtiene el nombre del componente propietario. |
Métodos
Add(IComponent) |
Agrega el objeto Component especificado a la colección Container. El componente no tiene nombre. (Heredado de Container) |
Add(IComponent, String) |
Agrega el Component especificado a Container y le asigna un nombre. (Heredado de Container) |
CreateSite(IComponent, String) |
Crea un sitio para el componente en el contenedor. |
Dispose() |
Libera todos los recursos que usa Container. (Heredado de Container) |
Dispose(Boolean) |
Libera los recursos utilizados por el contenedor anidado. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetService(Type) |
Obtiene el objeto de servicio del tipo especificado, si está disponible. |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
Remove(IComponent) |
Quita un componente del objeto Container. (Heredado de Container) |
RemoveWithoutUnsiting(IComponent) |
Quita un componente del objeto Container sin establecer Site en |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
ValidateName(IComponent, String) |
Determina si el nombre del componente es único para este contenedor. (Heredado de Container) |