NestedContainer Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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 |
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) |