DesignSurface 類別

定義

呈現可供設計元件的使用者介面。

public ref class DesignSurface : IDisposable, IServiceProvider
public class DesignSurface : IDisposable, IServiceProvider
[System.Security.SecurityCritical]
public class DesignSurface : IDisposable, IServiceProvider
type DesignSurface = class
    interface IDisposable
    interface IServiceProvider
[<System.Security.SecurityCritical>]
type DesignSurface = class
    interface IDisposable
    interface IServiceProvider
Public Class DesignSurface
Implements IDisposable, IServiceProvider
繼承
DesignSurface
屬性
實作

備註

類別 DesignSurface 會實作使用者認為設計工具的內容。 DesignSurface 是使用者操作以變更設計階段功能的使用者介面。 DesignSurface 提供完全獨立的設計介面。

類別 DesignSurface 可以當做獨立設計工具使用,也可以與 DesignSurfaceManager 類別結合,為裝載多個 DesignSurface 物件的應用程式提供通用實作。

類別 DesignSurface 可以單獨使用,或者使用者可以從中衍生新的類別,並增強行為。

類別 DesignSurface 會自動提供數個設計階段服務。 類別 DesignSurface 會在其建構函式中新增其所有服務。 這些服務大多可以藉由在受保護的 ServiceContainer 屬性中取代它們來覆寫。 若要取代服務,請覆寫建構函式、呼叫基底,並透過受保護的 ServiceContainer 屬性進行任何變更。 所有新增至服務容器且實 IDisposable 作的服務都會在處置設計介面時處置。 下表顯示 類別提供的預設可取代服務 DesignSurface 集。

服務 描述
IExtenderProviderService 可讓不屬於容器元件集合的物件提供自己的擴充項提供者。
IExtenderListService 用來 TypeDescriptor 取得擴充項提供者的清單。 使用此服務時,擴充器提供者可以位於容器外部。
ITypeDescriptorFilterService 提供設計工具中繼資料勾點。 這是中繼資料篩選的主要介面。
ISelectionService 提供在設計工具中選取元件的方法。
IReferenceService 提供取得物件名稱的方法,即使未月臺這些物件也一樣。
DesignSurface 提供設計介面本身即服務。
DesignerOptionService 提供基底類別,用於取得和設定設計工具的選項值。

下表顯示預設提供的不可取代服務。

服務 描述
IComponentChangeService 在對元件進行變更時引發事件。
IDesignerHost 控制類型、服務和交易的存取。 設計工具的主要介面。
IContainer 擁有一組正在設計的元件。 每個設計工具都有 IContainer 擁有元件的 。
IServiceContainer 衍生自 IServiceProvider ,並提供從設計工具新增和移除服務的方法。

除了這些服務之外,類別 DesignSurface 也提供單一服務,可透過元件的月臺取得。 此服務對於每個元件而言都是唯一的。 下表顯示無法取代的服務。

服務 描述
IDictionaryService 索引鍵/值組的泛型字典,可用來儲存元件的相關任意資料。
INestedContainer 容器,可讓元件將其他子元件新增至設計工具。 這些元件會是設計介面的一部分,但不會參與序列化。 當您想要設計能夠在設計工具中公開本身區域的控制項,但不想讓區域參與序列化時,這非常有用。

除了 ISite 之外,月臺也會實作下列介面。

警告

檢查這些介面是否存在,而不是使用不區分的轉型,因為其他網站實作可能不會實作它們。

服務 描述
IServiceContainer 提供一種方式來取得月臺特定服務的容器。 例如, IDictionaryService 是月臺特定服務。 使用此服務時,您可以新增其他月臺特定服務。

建構函式

DesignSurface()

初始化 DesignSurface 類別的新執行個體。

DesignSurface(IServiceProvider)

初始化 DesignSurface 類別的新執行個體。

DesignSurface(IServiceProvider, Type)

初始化 DesignSurface 類別的新執行個體。

DesignSurface(Type)

初始化 DesignSurface 類別的新執行個體。

屬性

ComponentContainer

取得設計介面內的 IContainer 實作。

DtelLoading

取得值,指出是否正在載入 [設計階段錯誤清單]

IsLoaded

取得值,指出目前是否已載入設計介面。

LoadErrors

傳回載入錯誤的集合或 Void 集合。

ServiceContainer

取得服務容器。

View

取得根設計工具的檢視。

方法

BeginLoad(DesignerLoader)

使用指定的設計工具載入器開始載入處理序。

BeginLoad(Type)

開始載入處理序。

CreateComponent(Type)
已淘汰.

建立元件的執行個體。

CreateDesigner(IComponent, Boolean)

在將元件加入容器時建立設計工具。

CreateInstance(Type)

建立指定型別的執行個體。

CreateNestedContainer(IComponent)

建立適合的容器,以巢狀控制項或元件。

CreateNestedContainer(IComponent, String)

建立適合的容器,以巢狀控制項或元件。

Dispose()

釋放 DesignSurface 使用的資源。

Dispose(Boolean)

釋放 DesignSurface 使用的資源。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Flush()

序列化對設計介面的變更。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetService(Type)

取得服務容器中的服務。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
OnLoaded(LoadedEventArgs)

引發 Loaded 事件。

OnLoading(EventArgs)

引發 Loading 事件。

OnUnloaded(EventArgs)

引發 Unloaded 事件。

OnUnloading(EventArgs)

引發 Unloading 事件。

OnViewActivate(EventArgs)

引發 ViewActivated 事件。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

事件

Disposed

發生於處置設計介面時。

Flushed

發生於呼叫 Flush()DesignSurface 方法時。

Loaded

發生於完成設計工具載入時。

Loading

發生於即將載入設計工具時。

Unloaded

發生於設計工具完成卸載時。

Unloading

發生於即將卸載設計工具時。

ViewActivated

發生於已在 Activate() 上呼叫 IDesignerHost 方法時。

適用於

另請參閱