NestedContainer Class

Definition

Stellt die Basisimplementierung für die INestedContainer-Schnittstelle bereit, die es Containern ermöglicht, über eine besitzende Komponente zu verfügen.Provides the base implementation for the INestedContainer interface, which enables containers to have an owning component.

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
Inheritance
NestedContainer
Implements

Remarks

Die NestedContainer-Klasse ist eine einfache Implementierung der INestedContainer-Schnittstelle, die eine Komponente definiert, die logisch NULL oder mehr andere Komponenten enthält und im Besitz einer übergeordneten Komponente ist.The NestedContainer class is a simple implementation of the INestedContainer interface, which defines a component that logically contains zero or more other components and is owned by a parent component. Das Verhalten von Unterschieden mit einem Standard Container unterscheidet sich in vielerlei Hinsicht von der folgenden:The behavior of nested containers differs from a standard Container in a number of ways, including the following:

  • Standorteigenschaften wie DesignMode und GetService werden über die Site der besitzenden Komponente weitergeleitet.Site characteristics such as DesignMode and GetService are routed through the owning component's site.

  • Die Name-Eigenschaft der Site ist ein qualifizierter Name, der den Namen der besitzenden Komponente, gefolgt von einem Zeitraum (.) und dem Namen der untergeordneten Komponente enthält.The site's Name property is a qualified name that includes the owning component's name followed by a period (.) and the child component's name.

  • GetService bietet Unterstützung für die INestedContainer als Dienst.GetService provides support for the INestedContainer as a service.

  • Wenn die besitzende Komponente verworfen wird, wird der Container ebenfalls verworfen.When the owning component is disposed, the container is disposed as well.

Außerdem behandeln die Designer die unterschiedlichen unterschiedlichen Container.In addition, designers treat nested containers differently. Ein Designer Host ist nur an einem Container interessiert, der dem Host zugeordnet ist.A designer host is only interested in one container - the one associated with the host. Daher werden Komponenten hinzufügen und Entfernen-Ereignisse nicht ausgelöst, wenn eine Komponente einem geschiebenen Container hinzugefügt oder daraus entfernt wird.Therefore, component add and remove events are not raised when a component is added to or removed from a nested container. Da die Dienste jedoch an den geschalbten Container weitergeleitet werden, werden Komponenten Änderungs Ereignisse ausgelöst, wenn eine Komponente in einem geschalbten Container geändert wird.However, because services flow through to the nested container, component change events are raised when a component in a nested container is changed.

Dieser Unterschied bei der Ereignis Verfolgung wirkt sich auch auf die Rückgängig-Funktionalität aus, die eng an die Serialisierung gebundenThis disparity in event tracking also impacts undo functionality, which is closely tied to serialization. Die standardmäßige rückgängig-Engine verwendet IReferenceService, um an Komponenten vorgenommene Änderungen zu verfolgen.The standard undo engine uses IReferenceService to track changes made to components. Wenn die rückgängig-Engine keinen Namen für eine Komponente über den Verweis Dienst identifizieren kann, ignoriert die Engine alle Änderungen für diese Komponente.If the undo engine cannot identify a name for a component through the reference service, the engine will ignore any changes for that component. Dieser Dienst erkennt Änderungen an enthaltenen Komponenten nur dann automatisch, wenn Sie in ihren Besitzern als öffentliche, schreibgeschützte Eigenschaften mit demselben Namen verfügbar gemacht werden.This service automatically recognizes changes to contained components only if they are exposed as public read-only properties of the same name in their owners. Andernfalls muss der Entwickler Komponenten Änderungs Ereignisse an den Besitzer übergeben.Otherwise, the developer must pass component change events up to the owner. Wenn z. b. die Text Eigenschaft einer-Eigenschaft der Komponente auf der besitzenden Komponente als Address Eigenschaft wieder hergestellt wird, wenn die Text-Eigenschaft geändert wird, muss für die entsprechende Address Eigenschaft Programm gesteuert eine Eigenschafts Änderung durchgeführt werden. andernfalls wird diese Änderung nicht von rückgängig verfolgt.For example, if a nested component's Text property is resurfaced on its owning component as an Address property, when the Text property is changed, a property change must be programmatically made for the corresponding Address property or else that change will not be tracked by undo.

Constructors

NestedContainer(IComponent)

Initialisiert eine neue Instanz der Klasse NestedContainer.Initializes a new instance of the NestedContainer class.

Properties

Components

Ruft alle Komponenten im Container ab.Gets all the components in the Container.

(Inherited from Container)
Owner

Ruft die besitzende Komponente für diesen geschachtelten Container ab.Gets the owning component for this nested container.

OwnerName

Ruft den Namen der besitzenden Komponente ab.Gets the name of the owning component.

Methods

Add(IComponent)

Fügt dem Component die angegebene Container hinzu.Adds the specified Component to the Container. Die Komponente hat keinen Namen.The component is unnamed.

(Inherited from Container)
Add(IComponent, String)

Fügt dem Component die angegebene Container hinzu und weist ihr einen Namen zu.Adds the specified Component to the Container and assigns it a name.

(Inherited from Container)
CreateSite(IComponent, String)

Erstellt eine Site für die Komponente im Container.Creates a site for the component within the container.

Dispose()

Gibt alle von Container verwendeten Ressourcen frei.Releases all resources used by the Container.

(Inherited from Container)
Dispose(Boolean)

Gibt die vom geschachtelten Container verwendeten Ressourcen frei.Releases the resources used by the nested container.

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetService(Type)

Ruft das Dienstobjekt des angegebenen Typs ab, sofern es verfügbar ist.Gets the service object of the specified type, if it is available.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(IComponent)

Entfernt eine Komponente aus dem Container.Removes a component from the Container.

(Inherited from Container)
RemoveWithoutUnsiting(IComponent)

Entfernt eine Komponente aus dem Container, ohne Site auf null festzulegen.Removes a component from the Container without setting Site to null.

(Inherited from Container)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)
ValidateName(IComponent, String)

Bestimmt, ob der Komponentenname in diesem Container eindeutig ist.Determines whether the component name is unique for this container.

(Inherited from Container)

Applies to

See also