NestedContainer Classe

Definizione

Fornisce l'implementazione di base per l'interfaccia INestedContainer che consente ai contenitori di disporre di un componente proprietario.

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
Ereditarietà
NestedContainer
Implementazioni

Commenti

La NestedContainer classe è una semplice implementazione dell'interfaccia INestedContainer , che definisce un componente che contiene logicamente zero o più componenti ed è di proprietà di un componente padre. Il comportamento dei contenitori annidati differisce da uno standard Container in diversi modi, tra cui quanto segue:

  • Caratteristiche del sito, DesignMode ad esempio e GetService vengono indirizzate attraverso il sito del componente proprietario.

  • La proprietà del Name sito è un nome qualificato che include il nome del componente proprietario seguito da un punto (.) e il nome del componente figlio.

  • GetService fornisce il supporto per il INestedContainer servizio come servizio.

  • Quando il componente proprietario viene eliminato, il contenitore viene eliminato anche.

Inoltre, i progettisti trattano contenitori annidati in modo diverso. Un host di progettazione è interessato solo a un contenitore, quello associato all'host. Pertanto, l'aggiunta e la rimozione di eventi del componente non vengono generati quando un componente viene aggiunto o rimosso da un contenitore annidato. 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.

Questa disparità nel rilevamento eventi influisce anche sulla funzionalità di annullamento, strettamente legata alla serializzazione. Il motore di annullamento standard usa IReferenceService per tenere traccia delle modifiche apportate ai componenti. Se il motore di annullamento non riesce a identificare un nome per un componente tramite il servizio di riferimento, il motore ignora eventuali modifiche per tale componente. Questo servizio riconosce automaticamente le modifiche ai componenti contenuti solo se vengono esposte come proprietà di sola lettura pubbliche dello stesso nome nei proprietari. In caso contrario, lo sviluppatore deve passare gli eventi di modifica dei componenti fino al proprietario. Ad esempio, se la proprietà di Text un componente annidato viene ricreata nel componente proprietario come Address proprietà, quando la proprietà viene modificata, una modifica della proprietà deve essere apportata a livello di codice per la Text proprietà corrispondente Address oppure tale modifica non verrà tracciata da undo.

Costruttori

NestedContainer(IComponent)

Inizializza una nuova istanza della classe NestedContainer.

Proprietà

Components

Ottiene tutti i componenti presenti in Container.

(Ereditato da Container)
Owner

Ottiene il componente proprietario per questo contenitore annidato.

OwnerName

Ottiene il nome del componente proprietario.

Metodi

Add(IComponent)

Aggiunge l'oggetto Component specificato alla raccolta Container. Non è stato assegnato alcun nome al componente.

(Ereditato da Container)
Add(IComponent, String)

Consente di aggiungere l'oggetto Component specificato all'oggetto Container e assegnargli un nome.

(Ereditato da Container)
CreateSite(IComponent, String)

Crea un sito per il componente all'interno del contenitore.

Dispose()

Rilascia tutte le risorse usate da Container.

(Ereditato da Container)
Dispose(Boolean)

Rilascia le risorse utilizzate dal contenitore annidato.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetService(Type)

Ottiene l'oggetto servizio del tipo specificato, se disponibile.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Remove(IComponent)

Rimuove un componente da Container.

(Ereditato da Container)
RemoveWithoutUnsiting(IComponent)

Rimuove un componente da Container senza impostare Site su null.

(Ereditato da Container)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
ValidateName(IComponent, String)

Determina se il nome del componente è univoco per questo contenitore.

(Ereditato da Container)

Si applica a

Vedi anche