NestedContainer Klasse

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
NestedContainer
Implementiert

Hinweise

Bei NestedContainer der-Klasse handelt es sich um INestedContainer eine einfache Implementierung der-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 unterscheidet Container sich in vielerlei Hinsicht von einem Standard, einschließlich 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 durch 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 Website 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.

  • GetServicebietet Unterstützung für INestedContainer den as-a-Service.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 IReferenceService -Engine verwendet, 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-Eigenschaft einer Text Komponente auf der besitzenden Komponente Address als-Eigenschaft wieder hergestellt wird und die Text -Eigenschaft geändert wird, muss eine Eigenschaften Änderung Programm gesteuert für die entsprechende Address Eigenschaft oder andernfalls wird diese Änderung nicht von rückgängig nachverfolgt.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)

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

Eigenschaften

Components

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

(Geerbt von 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.

Methoden

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.

(Geerbt von 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.

(Geerbt von 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 vom Container verwendeten Ressourcen frei.Releases all resources used by the Container.

(Geerbt von Container)
Dispose(Boolean)

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

Equals(Object)

Ermittelt, ob das angegebene Objekt und das aktuelle Objekt gleich sind.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
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()

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

(Geerbt von Object)
MemberwiseClone()

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

(Geerbt von Object)
Remove(IComponent)

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

(Geerbt von 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.

(Geerbt von Container)
ToString()

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

(Geerbt von Object)
ValidateName(IComponent, String)

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

(Geerbt von Container)

Gilt für:

Siehe auch