NestedContainer Klasa

Definicja

Zapewnia podstawową implementację interfejsu INestedContainer , który umożliwia kontenerom posiadanie składnika będącego właścicielem.

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
Dziedziczenie
NestedContainer
Implementuje

Uwagi

Klasa NestedContainer jest prostą implementacją interfejsu INestedContainer , która definiuje składnik, który logicznie zawiera zero lub więcej innych składników i jest własnością składnika nadrzędnego. Zachowanie zagnieżdżonych kontenerów różni się od standardu Container na wiele sposobów, w tym:

  • Właściwości lokacji, takie jak DesignMode i GetService , są kierowane przez lokację składnika będącego właścicielem.

  • Właściwość lokacji Name jest kwalifikowaną nazwą, która zawiera nazwę składnika będącego właścicielem, po której następuje kropka (.) i nazwa składnika podrzędnego.

  • GetService zapewnia obsługę usługi INestedContainer jako usługi.

  • Po usunięciu składnika będącego właścicielem kontener jest również usuwany.

Ponadto projektanci traktują kontenery zagnieżdżone inaczej. Host projektanta jest zainteresowany tylko jednym kontenerem — skojarzonym z hostem. W związku z tym zdarzenia dodawania i usuwania składników nie są wywoływane, gdy składnik jest dodawany do lub usuwany z zagnieżdżonego kontenera. Jednak ze względu na to, że usługi przepływają do zagnieżdżonego kontenera, zdarzenia zmiany składnika są zgłaszane po zmianie składnika w zagnieżdżonym kontenerze.

Ta rozbieżność w śledzeniu zdarzeń ma również wpływ na cofanie funkcjonalności, która jest ściśle związana z serializacji. Standardowy aparat cofania używa IReferenceService do śledzenia zmian wprowadzonych w składnikach. Jeśli aparat cofania nie może zidentyfikować nazwy składnika za pośrednictwem usługi referencyjnej, aparat zignoruje wszelkie zmiany dla tego składnika. Ta usługa automatycznie rozpoznaje zmiany zawartych składników tylko wtedy, gdy są one widoczne jako publiczne właściwości tylko do odczytu o tej samej nazwie w ich właścicielach. W przeciwnym razie deweloper musi przekazać zdarzenia zmiany składnika do właściciela. Jeśli na przykład właściwość zagnieżdżonego składnika Text zostanie ponownie wychwycona na własnym składniku jako Address właściwość, Text po zmianie właściwości należy programowo wprowadzić zmianę właściwości dla odpowiedniej Address właściwości lub inne zmiany, które nie zostaną śledzone przez cofnięcie.

Konstruktory

NestedContainer(IComponent)

Inicjuje nowe wystąpienie klasy NestedContainer.

Właściwości

Components

Pobiera wszystkie składniki w obiekcie Container.

(Odziedziczone po Container)
Owner

Pobiera składnik będący właścicielem dla tego zagnieżdżonego kontenera.

OwnerName

Pobiera nazwę składnika będącego właścicielem.

Metody

Add(IComponent)

Dodaje określony Component element do elementu Container. Składnik jest nienazwany.

(Odziedziczone po Container)
Add(IComponent, String)

Dodaje określony Component element do elementu Container i przypisuje mu nazwę.

(Odziedziczone po Container)
CreateSite(IComponent, String)

Tworzy lokację dla składnika w kontenerze.

Dispose()

Zwalnia wszelkie zasoby używane przez element Container.

(Odziedziczone po Container)
Dispose(Boolean)

Zwalnia zasoby używane przez zagnieżdżony kontener.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetService(Type)

Pobiera obiekt usługi określonego typu, jeśli jest dostępny.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Remove(IComponent)

Usuwa składnik z elementu Container.

(Odziedziczone po Container)
RemoveWithoutUnsiting(IComponent)

Usuwa składnik z elementu Container bez ustawienia Site na null.

(Odziedziczone po Container)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
ValidateName(IComponent, String)

Określa, czy nazwa składnika jest unikatowa dla tego kontenera.

(Odziedziczone po Container)

Dotyczy

Zobacz też