NestedContainer 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供介面的基礎實作 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.INestedContainer
public class NestedContainer : System.ComponentModel.Container, System.ComponentModel.INestedContainer
type NestedContainer = class
inherit Container
interface INestedContainer
interface IContainer
interface IDisposable
type NestedContainer = class
inherit Container
interface IContainer
interface IDisposable
interface INestedContainer
Public Class NestedContainer
Inherits Container
Implements IDisposable, INestedContainer
Public Class NestedContainer
Inherits Container
Implements INestedContainer
- 繼承
- 實作
備註
這個 NestedContainer 類別是介面的簡單實作 INestedContainer ,定義了一個邏輯上包含零個或多個其他元件,且由父元件擁有的元件。 巢狀容器的行為在多方面與標準 Container 不同,包括以下幾點:
網站特性 DesignMode 如 和 GetService 會經過擁有元件的網站。
該網站 Name 的屬性是一個限定名稱,包含擁有元件的名稱,後面是句點(.)以及子元件的名稱。
GetService 提供服務支援 INestedContainer 。
當擁有的組件被處置時,容器也會被處置。
此外,設計師對巢狀容器的處理方式也有所不同。 設計主機只對一個容器感興趣——也就是與主機相關的容器。 因此,當元件被加入或移除巢狀容器時,元件的新增與移除事件不會被觸發。 然而,由於服務會流向巢狀容器,當巢狀容器中的元件被更改時,元件變更事件就會被觸發。
這種事件追蹤的差異也影響了復原功能,而復原功能與序列化密切相關。 標準的復原引擎用 IReferenceService 來追蹤元件變更。 如果復原引擎無法透過參考服務識別元件名稱,引擎將忽略該元件的任何變更。 此服務僅在包含元件以同名公開唯讀屬性公開時,才會自動辨識變更。 否則,開發者必須將元件變更事件傳達給擁有者。 例如,若巢狀元件 Text 的屬性被重新呈現為其擁有元件的 Address 屬性,當 Text 該屬性被更改時,必須對相應 Address 屬性進行程式化的屬性變更,否則該變更無法被還原追蹤。
建構函式
| 名稱 | Description |
|---|---|
| NestedContainer(IComponent) |
初始化 NestedContainer 類別的新執行個體。 |
屬性
| 名稱 | Description |
|---|---|
| Components |
取得所有元件。Container (繼承來源 Container) |
| Owner |
取得這個巢狀容器的擁有元件。 |
| OwnerName |
取得擁有元件的名稱。 |
方法
| 名稱 | Description |
|---|---|
| Add(IComponent, String) |
將指定的 Component 加入 並 Container 賦予其名稱。 (繼承來源 Container) |
| Add(IComponent) |
將指定的 ComponentContainer加入 。 該元件未命名。 (繼承來源 Container) |
| CreateSite(IComponent, String) |
在容器內建立元件的網站。 |
| Dispose() |
釋放所有由 Container. (繼承來源 Container) |
| Dispose(Boolean) |
釋放巢狀容器所使用的資源。 |
| Equals(Object) |
判斷指定的 物件是否等於目前的物件。 (繼承來源 Object) |
| GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
| GetService(Type) |
取得指定類型的服務物件(若可用)。 |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| Remove(IComponent) |
從 中移除一個元件。Container (繼承來源 Container) |
| RemoveWithoutUnsiting(IComponent) |
將一個元件從 Container 中移除,但設定 Site 為 |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |
| ValidateName(IComponent, String) |
判斷該容器的元件名稱是否唯一。 (繼承來源 Container) |