NestedContainer Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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 |
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) |