NestedContainer Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt die Basisimplementierung für die Schnittstelle bereit, mit der INestedContainer Container über eine eigene Komponente verfügen können.
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
- Vererbung
- Implementiert
Hinweise
Die NestedContainer Klasse ist eine einfache Implementierung der INestedContainer Schnittstelle, die eine Komponente definiert, die logisch Null oder mehr andere Komponenten enthält und einer übergeordneten Komponente gehört. Das Verhalten von geschachtelten Containern unterscheidet sich von einem Standard Container auf verschiedene Arten, einschließlich der folgenden:
Websitemerkmale wie DesignMode z. B. und GetService werden über die Website der eigenen Komponente weitergeleitet.
Die Eigenschaft der Name Website ist ein qualifizierter Name, der den Namen der eigenen Komponente gefolgt von einem Punkt (.) und dem Namen der untergeordneten Komponente enthält.
GetService bietet Unterstützung für den INestedContainer As a Service.
Wenn die besitzereigene Komponente verworfen wird, wird der Container ebenfalls verworfen.
Darüber hinaus behandeln Designer geschachtelte Container unterschiedlich. Ein Designerhost ist nur an einem Container interessiert – der einem Host zugeordnete. Daher werden Ereignisse zum Hinzufügen und Entfernen von Komponenten nicht ausgelöst, wenn eine Komponente einem geschachtelten Container hinzugefügt oder daraus entfernt wird. Da dienste jedoch zum geschachtelten Container fließen, werden Komponentenänderungsereignisse ausgelöst, wenn eine Komponente in einem geschachtelten Container geändert wird.
Diese Diskrepanz bei der Ereignisverfolgung wirkt sich auch auf die Rückgängig-Funktionalität aus, die eng mit der Serialisierung verknüpft ist. Das Standardmodul zum Rückgängigmachen verwendet IReferenceService , um Änderungen zu verfolgen, die an Komponenten vorgenommen wurden. Wenn das Rückgängig-Modul keinen Namen für eine Komponente über den Referenzdienst identifizieren kann, ignoriert das Modul alle Änderungen für diese Komponente. Dieser Dienst erkennt Änderungen an enthaltenen Komponenten automatisch nur, wenn sie als öffentliche schreibgeschützte Eigenschaften desselben Namens in ihren Besitzern verfügbar gemacht werden. Andernfalls muss der Entwickler Komponentenänderungsereignisse an den Besitzer übergeben. Wenn beispielsweise die Eigenschaft einer geschachtelten Komponente Text auf der eigenen Komponente als Address Eigenschaft erneut eingetaucht wird, muss beim Ändern der Text Eigenschaft eine Eigenschaftsänderung programmgesteuert für die entsprechende Address Eigenschaft vorgenommen werden, sonst wird diese Änderung nicht durch Rückgängig nachverfolgt.
Konstruktoren
| Name | Beschreibung |
|---|---|
| NestedContainer(IComponent) |
Initialisiert eine neue Instanz der NestedContainer-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Components |
Ruft alle Komponenten in der Container. (Geerbt von Container) |
| Owner |
Ruft die besitzereigene Komponente für diesen geschachtelten Container ab. |
| OwnerName |
Ruft den Namen der besitzenden Komponente ab. |
Methoden
| Name | Beschreibung |
|---|---|
| Add(IComponent, String) |
Fügt das angegebene Component Feld hinzu Container und weist ihm einen Namen zu. (Geerbt von Container) |
| Add(IComponent) |
Fügt den angegebenen Component Wert zu der Container. Die Komponente ist unbenannt. (Geerbt von Container) |
| CreateSite(IComponent, String) |
Erstellt eine Website für die Komponente innerhalb des Containers. |
| Dispose() |
Veröffentlicht alle ressourcen, die von der Container. (Geerbt von Container) |
| Dispose(Boolean) |
Gibt die vom geschachtelten Container verwendeten Ressourcen frei. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetService(Type) |
Ruft das Dienstobjekt des angegebenen Typs ab, falls er verfügbar ist. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| Remove(IComponent) |
Entfernt eine Komponente aus der Container. (Geerbt von Container) |
| RemoveWithoutUnsiting(IComponent) |
Entfernt eine Komponente aus der Container ohne Einstellung Site auf |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
| ValidateName(IComponent, String) |
Bestimmt, ob der Komponentenname für diesen Container eindeutig ist. (Geerbt von Container) |