NestedContainer Classe

Definição

Fornece a implementação de base para a interface INestedContainer, que permite que os contêineres tenham um componente de propriedade.

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
Herança
NestedContainer
Implementações

Comentários

A NestedContainer classe é uma implementação simples da INestedContainer interface, que define um componente que contém logicamente zero ou mais outros componentes e pertence a um componente pai. O comportamento de contêineres aninhados difere de um padrão Container de várias maneiras, incluindo o seguinte:

  • Características do site, como DesignMode e GetService são roteados por meio do site do componente proprietário.

  • A propriedade do Name site é um nome qualificado que inclui o nome do componente proprietário seguido por um período (.) e o nome do componente filho.

  • GetService fornece suporte para o INestedContainer serviço como serviço.

  • Quando o componente proprietário é descartado, o contêiner também é descartado.

Além disso, os designers tratam contêineres aninhados de forma diferente. Um host de designer só está interessado em um contêiner - aquele associado ao host. Portanto, os eventos de adição e remoção de componentes não são gerados quando um componente é adicionado ou removido de um contêiner aninhado. 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.

Essa disparidade no acompanhamento de eventos também afeta a funcionalidade de desfazer, que está intimamente ligada à serialização. O mecanismo de desfazer padrão usa IReferenceService para controlar as alterações feitas nos componentes. 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á as alterações desse componente. Esse serviço reconhecerá automaticamente as alterações nos componentes contidos somente se eles forem expostos como propriedades públicas somente leitura do mesmo nome em seus proprietários. Caso contrário, o desenvolvedor deve passar eventos de alteração de componente para o proprietário. Por exemplo, se a propriedade de Text um componente aninhado for ressurgida em seu componente proprietário como uma Address propriedade, quando a Text propriedade for alterada, uma alteração de propriedade deverá ser feita programaticamente para a propriedade correspondente Address ou então essa alteração não será controlada por desfazer.

Construtores

NestedContainer(IComponent)

Inicializa uma nova instância da classe NestedContainer.

Propriedades

Components

Obtém todos os componentes do Container.

(Herdado de Container)
Owner

Obtém o componente proprietário para esse contêiner aninhado.

OwnerName

Obtém o nome do componente proprietário.

Métodos

Add(IComponent)

Adiciona o Component especificado ao Container. O componente não foi nomeado.

(Herdado de Container)
Add(IComponent, String)

Adiciona o Component especificado ao Container e atribui a ele um nome.

(Herdado de Container)
CreateSite(IComponent, String)

Cria um site para o componente dentro do contêiner.

Dispose()

Libera todos os recursos usados pelo Container.

(Herdado de Container)
Dispose(Boolean)

Libera os recursos usados pelo contêiner aninhado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetService(Type)

Obtém o objeto de serviço do tipo especificado, se estiver disponível.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Remove(IComponent)

Remove um componente do Container.

(Herdado de Container)
RemoveWithoutUnsiting(IComponent)

Remove um componente do Container sem configurar Site como null.

(Herdado de Container)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
ValidateName(IComponent, String)

Determina se o nome do componente é exclusivo para este contêiner.

(Herdado de Container)

Aplica-se a

Confira também