NestedContainer NestedContainer NestedContainer NestedContainer Class

Definição

Fornece a implementação de base para a interface INestedContainer, que permite que os contêineres tenham um componente de propriedade.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
Herança
NestedContainerNestedContainerNestedContainerNestedContainer
Implementações

Comentários

A NestedContainer classe é uma implementação simples INestedContainer da interface, que define um componente que logicamente contém zero ou mais outros componentes e pertence a um componente pai.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. O comportamento de Contêineres aninhados difere de Container um padrão de várias maneiras, incluindo o seguinte:The behavior of nested containers differs from a standard Container in a number of ways, including the following:

  • As características do site DesignMode , GetService como e, são roteadas por meio do site do componente de propriedade.Site characteristics such as DesignMode and GetService are routed through the owning component's site.

  • A propriedade do Name site é um nome qualificado que inclui o nome do componente de propriedade seguido por um ponto final (.) e o nome do componente filho.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.

  • GetServicefornece suporte para o INestedContainer como um serviço.GetService provides support for the INestedContainer as a service.

  • Quando o componente proprietário é Descartado, o contêiner também é Descartado.When the owning component is disposed, the container is disposed as well.

Além disso, os designers tratam Contêineres aninhados de forma diferente.In addition, designers treat nested containers differently. Um host de designer está interessado apenas em um contêiner-o associado ao host.A designer host is only interested in one container - the one associated with the host. Portanto, os eventos adicionar e remover componentes não são gerados quando um componente é adicionado ou removido de um contêiner aninhado.Therefore, component add and remove events are not raised when a component is added to or removed from a nested container. No entanto, como os serviços fluem para o contêiner aninhado, os eventos de alteração de componente são gerados quando um componente em um contêiner aninhado é alterado.However, because services flow through to the nested container, component change events are raised when a component in a nested container is changed.

Essa diferença no rastreamento de eventos também afeta a funcionalidade de desfazer, que está fortemente ligada à serialização.This disparity in event tracking also impacts undo functionality, which is closely tied to serialization. O mecanismo de desfazer padrão IReferenceService usa para controlar as alterações feitas nos componentes.The standard undo engine uses IReferenceService to track changes made to components. Se o mecanismo de desfazer não puder identificar um nome para um componente por meio do serviço de referência, o mecanismo ignorará todas as alterações para esse 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. Esse serviço reconhecerá automaticamente as alterações nos componentes contidos somente se eles forem expostos como propriedades somente leitura públicas de mesmo nome em seus proprietários.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. Caso contrário, o desenvolvedor deve passar eventos de alteração de componente até o proprietário.Otherwise, the developer must pass component change events up to the owner. Por exemplo, se Text a propriedade de um componente aninhado for retonada em seu componente proprietário como uma Address Propriedade, Text quando a propriedade for alterada, uma alteração de propriedade deverá ser feita programaticamente para o correspondente Address ou, caso contrário, a alteração não será controlada por desfazer.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.

Construtores

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

Inicializa uma nova instância da classe NestedContainer.Initializes a new instance of the NestedContainer class.

Propriedades

Components Components Components Components

Obtém todos os componentes do Container.Gets all the components in the Container.

(Inherited from Container)
Owner Owner Owner Owner

Obtém o componente proprietário para esse contêiner aninhado.Gets the owning component for this nested container.

OwnerName OwnerName OwnerName OwnerName

Obtém o nome do componente proprietário.Gets the name of the owning component.

Métodos

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

Adiciona o Component especificado ao Container.Adds the specified Component to the Container. O componente não foi nomeado.The component is unnamed.

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

Adiciona o Component especificado ao Container e atribui a ele um nome.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)

Cria um site para o componente dentro do contêiner.Creates a site for the component within the container.

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

Libera todos os recursos usados pelo Container.Releases all resources used by the Container.

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

Libera os recursos usados pelo contêiner aninhado.Releases the resources used by the nested container.

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

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

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

Serve como a função de hash padrão.Serves as the default hash function.

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

Obtém o objeto de serviço do tipo especificado, se estiver disponível.Gets the service object of the specified type, if it is available.

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

Obtém o Type da instância atual.Gets the Type of the current instance.

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

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

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

Remove um componente do Container.Removes a component from the Container.

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

Remove um componente do Container sem configurar Site como null.Removes a component from the Container without setting Site to null.

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

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

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

Determina se o nome do componente é exclusivo para este contêiner.Determines whether the component name is unique for this container.

(Inherited from Container)

Aplica-se a

Veja também