增強設計階段支援
.NET Framework 提供可擴充架構,它能自訂設計模式中的元件和控制項的行為和顯示。這個設計階段支援架構能讓開發人員建置元件和控制項的自訂設計階段擴充部分。開發人員可提供自訂設計階段行為、值組態介面、屬性初始設定的程式碼產生,並充份運用設計階段環境提供的服務優點。
例如,如果您在控制項上定義自訂型別屬性,即可提供自訂使用者介面或型別編輯器,使用控屬性瀏覽器編輯屬性值。您可以建置一個能在設計階段管理元件的各個方面或控制項外觀和行為的設計工具類別。
在過去,針對設計模式中元件的特殊案例邏輯支援是內建於表單設計工具,而負責提供設計階段功能的,就是表單設計工具,而不是物件。在 ActiveX 的世界,例如,各種工具都以不同的使用者介面和功能來提供它們自己的設計工具。因為產品的固定功能集不能說明所有控制項的需要,ActiveX 控制項只有有限的自訂設計階段支援層級。
然而,類似 Microsoft Visual Studio .NET 的設計工具不會專門在 .NET Framework 中定義元件的設計階段支援。而是由開發環境依照提供元件設計階段支援的類別 (如設計工具),支援設計階段行為的擴充和定義。支援可擴充和可自訂設計模式行為是 .NET Framework 的一個整合部份。Visual Studio .NET 等工具也提供設計工具可以使用的設計階段服務範圍。
本章節提供背景資訊和範例來幫助元件和控制項開發人員加入設計階段功能至元件。
雖然本章節討論的設計階段的許多增強部分一般都適用於元件,但有些卻是 Web Form 或 Windows Form 所特有的。ASP.NET Web Form 與 Windows Form 之間有一些設計階段的差異,這是因為呈現 ASP.NET 伺服器控制項與呈現 Windows Form 控制項的機制不同。ASP.NET 伺服器控制項會將 HTML (或其他標記語言) 傳送至用戶端,再由用戶端的瀏覽器或其他檢視裝置來呈現。相反地,Windows Form 控制項則通常會使用 GDI+ (新的 Windows 圖庫) 來進行繪製。
本章節內容
- 設計階段架構
提供 .NET Framework 中設計階段架構的概觀。 - 屬性和設計階段支援
描述如何使用自訂屬性 (Attribute),將設計階段支援與特定元件或控制項產生關聯。 - 產生的型別轉換
描述型別之間的值的轉譯方法。 - 實作型別轉換子
描述如何實作型別轉換子 (Type Converter) 來轉譯資料型別之間的值、在設計階段產生屬性初始設定程式碼,以及對支援的資料型別提供屬性方格的標準值清單。 - 實作 UI 型別編輯器
說明如何實作 UI 型別編輯器,以視覺化設定數值的方式來自訂型別。 - 實作擴充性提供者
說明如何實作擴充性提供者,以便在設計階段或 Run Time 將屬性新增到元件。 - 自訂設計工具
描述實作設計工具 (支配元件在設計階段的視覺表現和行為的類別) 背後的重要概念。 - Web Form 的設計階段支援
描述有關 Web Form 的設計階段實作的詳細資訊,並提供 Web Form 設計工具的範例。 - Windows Form 的設計階段支援
提供 Windows Form 中設計階段實作的範例,例如 UI 型別編輯器、擴充性提供者和設計工具。
相關章節
- 元件的設計階段屬性
列出經常套用到屬性和控制項的屬性和事件的屬性。