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 avere 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ù altri componenti ed è di proprietà di un componente padre. Il comportamento dei contenitori annidati differisce da uno standard Container in diversi modi, tra cui:
Le caratteristiche del sito, DesignMode ad esempio e GetService , vengono instradate attraverso il sito del componente proprietario.
La proprietà del Name sito è un nome completo che include il nome del componente proprietario seguito da un punto (.) e dal nome del componente figlio.
GetService fornisce supporto per as a INestedContainer Service.
Quando il componente proprietario viene eliminato, viene eliminato anche il contenitore.
Inoltre, i progettisti gestiscono i contenitori annidati in modo diverso. Un host della finestra di progettazione è interessato solo a un contenitore, quello associato all'host. Di conseguenza, gli eventi di aggiunta e rimozione 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 ignorerà eventuali modifiche per tale componente. Questo servizio riconosce automaticamente le modifiche ai componenti contenuti solo se vengono esposte come proprietà pubbliche di sola lettura dello stesso nome nei relativi proprietari. In caso contrario, lo sviluppatore deve passare eventi di modifica del componente fino al proprietario. Ad esempio, se la proprietà di un componente annidato viene ricreata nel relativo componente proprietario come Address proprietà, quando la Text proprietà viene modificata, è necessario apportare una modifica della proprietà a livello di Text codice per la proprietà corrispondente Address o altrimenti tale modifica non verrà rilevata annullando.
Costruttori
| Nome | Descrizione |
|---|---|
| NestedContainer(IComponent) |
Inizializza una nuova istanza della classe NestedContainer. |
Proprietà
| Nome | Descrizione |
|---|---|
| Components |
Ottiene tutti i componenti nell'oggetto Container. (Ereditato da Container) |
| Owner |
Ottiene il componente proprietario per questo contenitore annidato. |
| OwnerName |
Ottiene il nome del componente proprietario. |
Metodi
| Nome | Descrizione |
|---|---|
| Add(IComponent, String) |
Aggiunge l'oggetto specificato Component all'oggetto Container e lo assegna un nome. (Ereditato da Container) |
| Add(IComponent) |
Aggiunge l'oggetto specificato Component all'oggetto Container. Il componente è senza 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 usate 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 il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (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) |