NestedContainer Classe

Définition

Fournit l'implémentation de base pour l'interface INestedContainer qui permet aux conteneurs d'avoir un composant propriétaire.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
Héritage
NestedContainer
Implémente

Remarques

La classe NestedContainer est une implémentation simple de l’interface INestedContainer, qui définit un composant qui contient logiquement zéro, un ou plusieurs autres composants et qui appartient à un composant parent.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. Le comportement des conteneurs imbriqués diffère d’un Container standard de plusieurs façons, y compris les suivantes :The behavior of nested containers differs from a standard Container in a number of ways, including the following:

  • Les caractéristiques d’un site, telles que DesignMode et GetService, sont acheminées via le site du composant propriétaire.Site characteristics such as DesignMode and GetService are routed through the owning component's site.

  • La propriété Name du site est un nom qualifié qui comprend le nom du composant propriétaire suivi d’un point (.) et du nom du composant enfant.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 prend en charge le INestedContainer en tant que service.GetService provides support for the INestedContainer as a service.

  • Lorsque le composant propriétaire est supprimé, le conteneur est également supprimé.When the owning component is disposed, the container is disposed as well.

En outre, les concepteurs traitent les conteneurs imbriqués différemment.In addition, designers treat nested containers differently. Un hôte de concepteur n’est intéressé que par un seul conteneur, celui qui est associé à l’hôte.A designer host is only interested in one container - the one associated with the host. Par conséquent, les événements d’ajout et de suppression de composants ne sont pas déclenchés lorsqu’un composant est ajouté ou supprimé d’un conteneur imbriqué.Therefore, component add and remove events are not raised when a component is added to or removed from a nested container. Toutefois, étant donné que les services sont transmis au conteneur imbriqué, les événements de modification de composant sont déclenchés quand un composant d’un conteneur imbriqué est modifié.However, because services flow through to the nested container, component change events are raised when a component in a nested container is changed.

Cette disparité dans le suivi des événements a également un impact sur la fonctionnalité d’annulation, qui est étroitement liée à la sérialisation.This disparity in event tracking also impacts undo functionality, which is closely tied to serialization. Le moteur d’annulation standard utilise IReferenceService pour suivre les modifications apportées aux composants.The standard undo engine uses IReferenceService to track changes made to components. Si le moteur d’annulation ne peut pas identifier un nom pour un composant par le biais du service de référence, le moteur ignore les modifications apportées à ce composant.If the undo engine cannot identify a name for a component through the reference service, the engine will ignore any changes for that component. Ce service reconnaît automatiquement les modifications apportées aux composants contenus uniquement s’ils sont exposés en tant que propriétés en lecture seule publiques portant le même nom dans leurs propriétaires.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. Dans le cas contraire, le développeur doit passer des événements de modification de composant jusqu’au propriétaire.Otherwise, the developer must pass component change events up to the owner. Par exemple, si la propriété Text d’un composant imbriqué est redéfinie sur son composant propriétaire en tant que Address propriété, lorsque la propriété Text est modifiée, une modification de propriété doit être effectuée par programmation pour la propriété Address correspondante, sinon cette modification n’est pas suivie par l’annulation.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.

Constructeurs

NestedContainer(IComponent)

Initialise une nouvelle instance de la classe NestedContainer.Initializes a new instance of the NestedContainer class.

Propriétés

Components

Obtient tous les composants du Container.Gets all the components in the Container.

(Hérité de Container)
Owner

Obtient le composant propriétaire pour ce conteneur imbriqué.Gets the owning component for this nested container.

OwnerName

Obtient le nom du composant propriétaire.Gets the name of the owning component.

Méthodes

Add(IComponent)

Ajoute le Component spécifié à Container.Adds the specified Component to the Container. Le composant est sans nom.The component is unnamed.

(Hérité de Container)
Add(IComponent, String)

Ajoute le Component spécifié à Container et lui assigne un nom.Adds the specified Component to the Container and assigns it a name.

(Hérité de Container)
CreateSite(IComponent, String)

Crée un site pour le composant dans le conteneur.Creates a site for the component within the container.

Dispose()

Libère toutes les ressources utilisées par Container.Releases all resources used by the Container.

(Hérité de Container)
Dispose(Boolean)

Libère les ressources utilisées par le conteneur imbriqué.Releases the resources used by the nested container.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetService(Type)

Obtient l'objet service du type spécifié (si disponible).Gets the service object of the specified type, if it is available.

GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
Remove(IComponent)

Supprime un composant de Container.Removes a component from the Container.

(Hérité de Container)
RemoveWithoutUnsiting(IComponent)

Supprime un composant de Container sans affecter à Site la valeur null.Removes a component from the Container without setting Site to null.

(Hérité de Container)
ToString()

Retourne une chaîne qui représente l'objet en cours.Returns a string that represents the current object.

(Hérité de Object)
ValidateName(IComponent, String)

Détermine si le nom du composant est unique pour ce conteneur.Determines whether the component name is unique for this container.

(Hérité de Container)

S’applique à

Voir aussi