NestedContainer NestedContainer NestedContainer 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::INestedContainer
public class NestedContainer : System.ComponentModel.Container, IDisposable, System.ComponentModel.INestedContainer
type NestedContainer = class
    inherit Container
    interface INestedContainer
    interface IContainer
    interface IDisposable
Public Class NestedContainer
Inherits Container
Implements IDisposable, INestedContainer
Vererbung
NestedContainerNestedContainerNestedContainerNestedContainer
Implementiert

Hinweise

Die NestedContainer Klasse ist eine einfache Implementierung der INestedContainer Schnittstelle, die eine Komponente definiert, die logisch 0 (null) oder mehr Komponenten enthält und von einer übergeordneten Komponente gehört.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 geschachtelten Containern unterscheidet sich von einer Standarddomäne Container in eine Reihe von Möglichkeiten, darunter die folgenden:The behavior of nested containers differs from a standard Container in a number of ways, including the following:

  • Eigenschaften wie z. B. einer Site DesignMode und GetService werden durch die besitzende Komponente Website weitergeleitet.Site characteristics such as DesignMode and GetService are routed through the owning component's site.

  • Der Website Name Eigenschaft ist ein qualifizierter Name, der die besitzende Komponente Namen gefolgt von einem Punkt (.) und die untergeordneten Komponente den Namen 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 gelöscht wird, wird der Container ebenfalls verworfen.When the owning component is disposed, the container is disposed as well.

Darüber hinaus behandelt Designer geschachtelte Container anders.In addition, designers treat nested containers differently. Ein Designerhost ist nur in einem Container - Host zugeordnete interessiert.A designer host is only interested in one container - the one associated with the host. Aus diesem Grund Komponente hinzufügen und Entfernen von Ereignisse werden nicht ausgelöst, wenn eine Komponente hinzugefügt oder aus einem geschachtelten Container entfernt.Therefore, component add and remove events are not raised when a component is added to or removed from a nested container. Da Dienste über den geschachtelten Container übergeben, werden jedoch Änderungsereignisse für die Komponente ausgelöst, wenn eine Komponente in einem geschachtelten 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.

Abweichung in ereignisüberwachung wirkt sich auch Rückgängig-Funktion, die eng mit Serialisierung verbunden ist.This disparity in event tracking also impacts undo functionality, which is closely tied to serialization. Die standard-rückgängig-Engine verwendet IReferenceService zum Nachverfolgen von Änderungen an Komponenten erläutert.The standard undo engine uses IReferenceService to track changes made to components. Wenn die rückgängig-Engine einen Namen für eine Komponente über den Verweisdienst nicht identifizieren kann, wird die Engine alle Änderungen für die jeweilige Komponente ignoriert.If the undo engine cannot identify a name for a component through the reference service, the engine will ignore any changes for that component. Der Dienst erkennt automatisch Änderungen an der enthaltenen Komponenten nur dann, wenn sie als öffentliche schreibgeschützte Eigenschaften, mit dem gleichen Namen in den Besitzern 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änderungsereignisse bis zu der Besitzer übergeben.Otherwise, the developer must pass component change events up to the owner. Wenn in einer geschachtelter Komponente z. B. Text Eigenschaft wird auf der besitzenden Komponente als Aufkommen ein Address Eigenschaft, wenn die Text -Eigenschaft geändert wird, eine Eigenschaftenänderung programmgesteuert erfolgen muss für den entsprechenden Address Eigenschaft sonst, dass die Änderung rückgängig nicht nachverfolgt werden.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.

Konstruktoren

NestedContainer(IComponent) NestedContainer(IComponent) NestedContainer(IComponent) NestedContainer(IComponent)

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

Eigenschaften

Components Components Components Components

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

(Inherited from Container)
Owner Owner Owner Owner

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

OwnerName OwnerName OwnerName OwnerName

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

Methoden

Add(IComponent) Add(IComponent) Add(IComponent) 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) Add(IComponent, String) Add(IComponent, String) 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) CreateSite(IComponent, String) CreateSite(IComponent, String) CreateSite(IComponent, String)

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

Dispose() Dispose() Dispose() Dispose()

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

(Inherited from Container)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

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

Equals(Object) Equals(Object) Equals(Object) 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() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetService(Type) GetService(Type) GetService(Type) GetService(Type)

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

GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
Remove(IComponent) Remove(IComponent) Remove(IComponent) Remove(IComponent)

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

(Inherited from Container)
RemoveWithoutUnsiting(IComponent) RemoveWithoutUnsiting(IComponent) RemoveWithoutUnsiting(IComponent) 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() ToString() ToString() 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) ValidateName(IComponent, String) ValidateName(IComponent, String) 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)

Gilt für:

Siehe auch