NestedContainer Classe

Definizione

Fornisce l'implementazione di base per l'interfaccia INestedContainer che consente ai contenitori di disporre di un componente proprietario.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
Ereditarietà
NestedContainer
Implementazioni

Commenti

La NestedContainer classe è un'implementazione semplice INestedContainer dell'interfaccia, che definisce un componente che contiene logicamente zero o più componenti ed è di proprietà di un componente padre.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. Il comportamento dei contenitori annidati differisce da uno Container standard in diversi modi, inclusi i seguenti:The behavior of nested containers differs from a standard Container in a number of ways, including the following:

  • Le caratteristiche del sito DesignMode , GetService ad esempio e, vengono instradate attraverso il sito del componente proprietario.Site characteristics such as DesignMode and GetService are routed through the owning component's site.

  • La Name proprietà del sito è un nome completo che include il nome del componente proprietario seguito da un punto (.) e dal nome del componente figlio.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.

  • GetServicefornisce supporto per INestedContainer come servizio.GetService provides support for the INestedContainer as a service.

  • Quando il componente proprietario viene eliminato, anche il contenitore viene eliminato.When the owning component is disposed, the container is disposed as well.

Inoltre, le finestre di progettazione considerano i contenitori annidati in modo diverso.In addition, designers treat nested containers differently. Un host della finestra di progettazione è interessato solo a un contenitore, quello associato all'host.A designer host is only interested in one container - the one associated with the host. Gli eventi di aggiunta e rimozione di componenti non vengono pertanto generati quando un componente viene aggiunto o rimosso da un contenitore annidato.Therefore, component add and remove events are not raised when a component is added to or removed from a nested container. Tuttavia, poiché i servizi passano al contenitore annidato, gli eventi di modifica dei componenti vengono generati quando viene modificato un componente in un contenitore annidato.However, because services flow through to the nested container, component change events are raised when a component in a nested container is changed.

Questa disparità nel rilevamento degli eventi influisca anche sulla funzionalità di annullamento, che è strettamente legata alla serializzazione.This disparity in event tracking also impacts undo functionality, which is closely tied to serialization. Il motore di annullamento standard IReferenceService utilizza per tenere traccia delle modifiche apportate ai componenti.The standard undo engine uses IReferenceService to track changes made to components. Se il motore di annullamento non è in grado di identificare un nome per un componente tramite il servizio di riferimento, il motore ignorerà tutte le modifiche apportate a tale 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. Questo servizio riconosce automaticamente le modifiche apportate ai componenti contenuti solo se sono esposte come proprietà pubbliche di sola lettura con lo stesso nome nei rispettivi proprietari.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. In caso contrario, lo sviluppatore deve passare gli eventi di modifica dei componenti al proprietario.Otherwise, the developer must pass component change events up to the owner. Se, ad esempio, la proprietà di Text un componente annidato viene riemersa sul componente proprietario Address come proprietà, quando Text la proprietà viene modificata, una modifica di proprietà deve essere eseguita a livello di Address codice per l'oggetto corrispondente la proprietà o altrimenti la modifica non verrà rilevata da Undo.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.

Costruttori

NestedContainer(IComponent)

Inizializza una nuova istanza della classe NestedContainer.Initializes a new instance of the NestedContainer class.

Proprietà

Components

Ottiene tutti i componenti presenti in Container.Gets all the components in the Container.

(Ereditato da Container)
Owner

Ottiene il componente proprietario per questo contenitore annidato.Gets the owning component for this nested container.

OwnerName

Ottiene il nome del componente proprietario.Gets the name of the owning component.

Metodi

Add(IComponent)

Aggiunge l'oggetto Component specificato all'insieme Container.Adds the specified Component to the Container. Non è stato assegnato alcun nome al componente.The component is unnamed.

(Ereditato da Container)
Add(IComponent, String)

Consente di aggiungere l'oggetto Component specificato all'oggetto Container e assegnargli un nome.Adds the specified Component to the Container and assigns it a name.

(Ereditato da Container)
CreateSite(IComponent, String)

Crea un sito per il componente all'interno del contenitore.Creates a site for the component within the container.

Dispose()

Rilascia tutte le risorse usate da Container.Releases all resources used by the Container.

(Ereditato da Container)
Dispose(Boolean)

Rilascia le risorse utilizzate dal contenitore annidato.Releases the resources used by the nested container.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetService(Type)

Ottiene l'oggetto servizio del tipo specificato, se disponibile.Gets the service object of the specified type, if it is available.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
Remove(IComponent)

Rimuove un componente da Container.Removes a component from the Container.

(Ereditato da Container)
RemoveWithoutUnsiting(IComponent)

Rimuove un componente da Container senza impostare Site su null.Removes a component from the Container without setting Site to null.

(Ereditato da Container)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)
ValidateName(IComponent, String)

Determina se il nome del componente è univoco per questo contenitore.Determines whether the component name is unique for this container.

(Ereditato da Container)

Si applica a

Vedi anche