NestedContainer NestedContainer NestedContainer NestedContainer Class

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à
NestedContainerNestedContainerNestedContainerNestedContainer
Implementazioni

Commenti

Il NestedContainer classe è un'implementazione semplice del INestedContainer interfaccia che definisce un componente che contiene zero o più componenti ed è di proprietà di un componente padre in modo logico.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 di contenitori nidificati è diverso da uno standard Container 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, ad esempio DesignMode e GetService vengono indirizzate tramite il sito del componente proprietario.Site characteristics such as DesignMode and GetService are routed through the owning component's site.

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

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

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

Inoltre, le finestre di progettazione trattare in modo diverso i contenitori nidificati.In addition, designers treat nested containers differently. Un host di progettazione è solo interessato a un contenitore - quello associato all'host.A designer host is only interested in one container - the one associated with the host. Pertanto, aggiungere e rimuovere gli eventi non vengono 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é servizi transitare fino al contenitore annidato, gli eventi di modifica di 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 di eventi influisce anche sulle funzionalità di annullamento, è strettamente legata alla serializzazione.This disparity in event tracking also impacts undo functionality, which is closely tied to serialization. Il motore di annullamento standard Usa IReferenceService per rilevare le modifiche apportate ai componenti.The standard undo engine uses IReferenceService to track changes made to components. Se il motore di annullamento non riesce a identificare un nome per un componente tramite il servizio di riferimento, il motore ignorerà le modifiche per il 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 ai componenti contenuti solo se sono esposte come proprietà pubbliche di sola lettura con lo stesso nome nei relativi 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 superare gli eventi di modifica di componenti fino al proprietario.Otherwise, the developer must pass component change events up to the owner. Ad esempio, se un componente annidato Text proprietà è riapparire nel componente proprietario come un' Address proprietà, quando il Text proprietà viene modificata, una modifica della proprietà deve essere resa a livello di codice per il corrispondente Address proprietà altrimenti che modifiche non verranno rilevate dall'operazione di annullamento.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) NestedContainer(IComponent) NestedContainer(IComponent) NestedContainer(IComponent)

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

Proprietà

Components Components Components Components

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

(Inherited from Container)
Owner Owner Owner Owner

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

OwnerName OwnerName OwnerName OwnerName

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

Metodi

Add(IComponent) Add(IComponent) Add(IComponent) 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.

(Inherited from Container)
Add(IComponent, String) Add(IComponent, String) Add(IComponent, String) 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Restituisce una stringa che rappresenta l'oggetto corrente.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 il nome del componente è univoco per questo contenitore.Determines whether the component name is unique for this container.

(Inherited from Container)

Si applica a

Vedi anche