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 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
- 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 sich im Besitz einer übergeordneten Komponente befindet. Das Verhalten von geschachtelten Containern unterscheidet sich von einem Standard Container auf verschiedene Arten, einschließlich der folgenden:
Standortmerkmale wie DesignMode und GetService werden über die Website der besitzenden Komponente weitergeleitet.
Die Eigenschaft der Website ist ein qualifizierter Name Name, der den Namen der besitzenden Komponente gefolgt von einem Punkt (.) und dem Namen der untergeordneten Komponente enthält.
GetService bietet Unterstützung für as INestedContainer a Service.
Wenn die besitzende Komponente verworfen wird, wird auch der Container verworfen.
Darüber hinaus behandeln Designer geschachtelte Container unterschiedlich. Ein Designerhost ist nur an einem Container interessiert– dem, der dem Host zugeordnet ist. Daher werden Add- und Remove-Ereignisse von Komponenten nicht ausgelöst, wenn eine Komponente einem geschachtelten Container hinzugefügt oder daraus entfernt wird. Da Dienste jedoch in den geschachtelten Container fließen, werden Komponentenänderungsereignisse ausgelöst, wenn eine Komponente in einem geschachtelten Container geändert wird.
Diese Ungleichheit bei der Ereignisnachverfolgung wirkt sich auch auf die Rückgängig-Funktionalität aus, die eng mit der Serialisierung verbunden ist. Die Standardmäßige Rückgängig-Engine verwendet IReferenceService , um Änderungen an Komponenten nachzuverfolgen. Wenn die Rückgängig-Engine keinen Namen für eine Komponente über den Verweisdienst identifizieren kann, ignoriert die Engine alle Änderungen für diese Komponente. Dieser Dienst erkennt Änderungen an enthaltenen Komponenten nur dann automatisch, wenn sie in ihren Besitzern als öffentliche schreibgeschützte Eigenschaften desselben Namens verfügbar gemacht werden. Andernfalls muss der Entwickler Komponentenänderungsereignisse an den Besitzer übergeben. Wenn z. B. die Eigenschaft einer geschachtelten Komponente Text
für die eigene Komponente als Eigenschaft Address
erneut angezeigt wird, muss beim Ändern der Text
Eigenschaft programmgesteuert eine Eigenschaftsänderung für die entsprechende Address
Eigenschaft vorgenommen werden, andernfalls wird diese Änderung nicht durch rückgängig nachverfolgt.
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 |
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) |