NestedContainer Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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::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
- 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 |
| 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) |