NestedContainer Klasse

Definition

Stellt die Basisimplementierung für die INestedContainer-Schnittstelle bereit, die es Containern ermöglicht, über eine besitzende Komponente zu verfügen.

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
NestedContainer
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 geschachtelter Container unterscheidet sich von einem Standard Container in einer Reihe von Möglichkeiten, einschließlich der folgenden:

  • Websiteeigenschaften wie z DesignMode . B. und GetService werden über die Website der eigenen Komponente weitergeleitet.

  • Die Eigenschaft der Website Name ist ein qualifizierter Name, der den Namen der eigenen Komponente enthält, gefolgt von einem Punkt (.) und dem Namen der untergeordneten Komponente.

  • GetService bietet Unterstützung für den INestedContainer As a Service.

  • Wenn die eigene Komponente entsorgt wird, wird der Container ebenfalls entsorgt.

Darüber hinaus behandeln Designer geschachtelte Container anders. Ein Designerhost ist nur für einen Container interessiert – der dem Host zugeordnete. Daher werden komponentenbezogene Ereignisse nicht ausgelöst, wenn eine Komponente einem geschachtelten Container hinzugefügt oder entfernt wird. Da jedoch Dienste zum geschachtelten Container ablaufen, werden Komponentenänderungsereignisse ausgelöst, wenn eine Komponente in einem geschachtelten Container geändert wird.

Diese Ungleichheit in der Ereignisverfolgung wirkt sich auch auf die Rückgängig-Funktionalität aus, die eng mit der Serialisierung verbunden ist. Das Standard-Rückgängig-Modul verwendet IReferenceService , um Änderungen an Komponenten nachzuverfolgen. Wenn das Rückgängig-Modul keinen Namen für eine Komponente über den Referenzdienst identifizieren kann, ignoriert das Modul änderungen für diese Komponente. Dieser Dienst erkennt automatisch Änderungen an enthaltenen Komponenten, wenn sie als öffentliche schreibgeschützte Eigenschaften desselben Namens in ihren Besitzern verfügbar gemacht werden. Andernfalls muss der Entwickler Komponentenänderungsereignisse bis zum Besitzer übergeben. Wenn z. B. die Eigenschaft einer geschachtelten Komponente Text als Eigenschaft erneut Address auf der eigenen Komponente als Eigenschaft angezeigt wird, muss eine Eigenschaftsänderung programmgesteuert für die Text entsprechende Address Eigenschaft vorgenommen werden, oder diese Änderung wird nicht von rückgängig gemacht.

Konstruktoren

NestedContainer(IComponent)

Initialisiert eine neue Instanz der NestedContainer-Klasse.

Eigenschaften

Components

Ruft alle Komponenten im Container ab.

(Geerbt von Container)
Owner

Ruft die besitzende Komponente für diesen geschachtelten Container ab.

OwnerName

Ruft den Namen der besitzenden Komponente ab.

Methoden

Add(IComponent)

Fügt dem Component die angegebene Container hinzu. Die Komponente hat keinen Namen.

(Geerbt von Container)
Add(IComponent, String)

Fügt dem Component die angegebene Container hinzu und weist ihr einen Namen zu.

(Geerbt von Container)
CreateSite(IComponent, String)

Erstellt eine Site für die Komponente im Container.

Dispose()

Gibt alle vom Container verwendeten Ressourcen frei.

(Geerbt von Container)
Dispose(Boolean)

Gibt die vom geschachtelten Container verwendeten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetService(Type)

Ruft das Dienstobjekt des angegebenen Typs ab, sofern es verfügbar ist.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Remove(IComponent)

Entfernt eine Komponente aus dem Container.

(Geerbt von Container)
RemoveWithoutUnsiting(IComponent)

Entfernt eine Komponente aus dem Container, ohne Site auf null festzulegen.

(Geerbt von Container)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
ValidateName(IComponent, String)

Bestimmt, ob der Komponentenname in diesem Container eindeutig ist.

(Geerbt von Container)

Gilt für

Siehe auch