NestedContainer Classe

Definição

Fornece a implementação base da INestedContainer interface, que permite que os contentores tenham um componente proprietário.

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.INestedContainer
public class NestedContainer : System.ComponentModel.Container, System.ComponentModel.INestedContainer
type NestedContainer = class
    inherit Container
    interface INestedContainer
    interface IContainer
    interface IDisposable
type NestedContainer = class
    inherit Container
    interface IContainer
    interface IDisposable
    interface INestedContainer
Public Class NestedContainer
Inherits Container
Implements IDisposable, INestedContainer
Public Class NestedContainer
Inherits Container
Implements INestedContainer
Herança
NestedContainer
Implementações

Observações

A NestedContainer classe é uma implementação simples da INestedContainer interface, que define um componente que logicamente contém zero ou mais outros componentes e é propriedade de um componente pai. O comportamento dos contentores aninhados difere de um padrão Container em vários aspetos, incluindo os seguintes:

  • As características do local como DesignMode e GetService são encaminhadas através do site do componente proprietário.

  • A propriedade do Name site é um nome qualificado que inclui o nome do componente proprietário seguido de um ponto (.) e o nome do componente filho.

  • GetService Fornece suporte para o INestedContainer AS a Service.

  • Quando o componente proprietário é descartado, o recipiente também é descartado.

Além disso, os designers tratam os contentores aninhados de forma diferente. Um host designer só se interessa por um contentor – aquele associado ao host. Portanto, os eventos de adição e remoção de componentes não são levantados quando um componente é adicionado ou removido de um contentor aninhado. No entanto, como os serviços fluem para o contentor aninhado, eventos de alteração de componentes são gerados quando um componente num contentor aninhado é alterado.

Esta disparidade no rastreamento de eventos também afeta a funcionalidade de desfazer, que está intimamente ligada à serialização. O motor padrão de desfazer é usado IReferenceService para acompanhar alterações feitas aos componentes. Se o motor de desfazer não conseguir identificar um nome para um componente através do serviço de referência, o motor ignorará quaisquer alterações para esse componente. Este serviço reconhece automaticamente alterações aos componentes contidos apenas se estiverem expostos como propriedades públicas de leitura somente com o mesmo nome nos seus proprietários. Caso contrário, o programador deve passar os eventos de alteração de componente ao proprietário. Por exemplo, se a propriedade de Text um componente aninhado for ressuscitada no seu componente proprietário como propriedade Address , quando a Text propriedade é alterada, deve ser feita uma alteração programatica para a propriedade correspondente Address , caso contrário essa alteração não será acompanhada pelo desfazer.

Construtores

Name Description
NestedContainer(IComponent)

Inicializa uma nova instância da NestedContainer classe.

Propriedades

Name Description
Components

Obtém todos os componentes no Container.

(Herdado de Container)
Owner

Obtém o componente proprietário deste contentor aninhado.

OwnerName

Recebe o nome do componente proprietário.

Métodos

Name Description
Add(IComponent, String)

Adiciona o especificado Component ao Container e atribui-lhe um nome.

(Herdado de Container)
Add(IComponent)

Adiciona o especificado Component ao Container. O componente não tem nome.

(Herdado de Container)
CreateSite(IComponent, String)

Cria um site para o componente dentro do contentor.

Dispose()

Liberta todos os recursos utilizados pelo Container.

(Herdado de Container)
Dispose(Boolean)

Liberta os recursos usados pelo contentor aninhado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(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 atual Object.

(Herdado de Object)
Remove(IComponent)

Remove um componente do Container.

(Herdado de Container)
RemoveWithoutUnsiting(IComponent)

Remove um componente do Container sem definir Site para null.

(Herdado de Container)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
ValidateName(IComponent, String)

Determina se o nome do componente é único para este contentor.

(Herdado de Container)

Aplica-se a

Ver também