Windows 窗设计时结构
生活随笔
收集整理的這篇文章主要介紹了
Windows 窗设计时结构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Windows 窗設計時結構
Windows 窗體編程設計時結構
下面的闡釋概述了 .NET Framework 中的設計時結構。
screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='點擊在新窗口瀏覽圖片\nCTRL+Mouse 滾輪可放大/縮小';}" οnclick="if(!this.resized) {return true;} else {window.open(this.src);}" src="http://msdn2.microsoft.com/zh-cn/library/c5z9s1h4.Local_-1517273875_dtarchitecture(zh-cn,VS.80).gif" οnlοad="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點擊在新窗口瀏覽圖片\nCTRL+Mouse 滾輪可放大/縮小';}" border=0> .NET Framework 為在設計時環境中自定義組件行為和用戶界面提供了接口和類。設計時環境通常包括用于排列組件的窗體設計器和用于配置組件的屬性值的屬性瀏覽器。設計時環境通常還會提供設計時機制可以訪問和使用的設計時服務。
.NET Framework 定義了開發人員可用來實現自定義設計時支持的接口。擴展設計時支持的主要機制可分為以下幾類:設計器、類型轉換器和 UI 類型編輯器。屬性會應用到類型和類型成員,以使它們與這些設計時支持提供程序關聯。
屬性屬性將類型或類型成員與擴展設計時行為的類關聯。DesignerAttribute 使類型與設計器關聯。TypeConverterAttribute 使類型或類型成員與類型轉換器關聯。EditorAttribute 使類型或類型成員與 UI 類型編輯器關聯。有關 .NET Framework 中的屬性的更多信息,請參見組件的設計時屬性 (Attribute) 和屬性與設計時支持。
設計器設計器可以在設計時自定義組件的行為,包括它的外觀、初始化以及與用戶的交互。對于選定的組件,設計器可以添加、移除或替換屬性瀏覽器中列出的屬性。設計器可以提供用戶定義的方法,這些方法可以鏈接到某些組件事件,或從自定義菜單命令或 DesignerVerb 中執行。設計器還可以使用由設計時環境提供的服務。有關設計器的更多信息,請參見自定義設計器。
類型轉換器通過實現類型轉換器,可在該轉換器的既定支持類型和其他數據類型(在這些數據類型之間該轉換器可以來回翻譯值)之間轉換值。類型轉換器還可提供邏輯,以便在設計時能夠在屬性瀏覽器內配置屬性。對于類型轉換器在屬性瀏覽器中在設計時支持的屬性類型,類型轉換器可以為該屬性提供標準值的列表。類型轉換器還可以生成初始化代碼,以便在設計時初始化屬性。有關實現類型轉換器的信息,請參見如何:實現類型轉換器。
UI 類型編輯器UI 類型編輯器可以提供一個自定義用戶界面 (UI),以便在設計時編輯屬性的值并顯示屬性值的表示形式。UI 類型編輯器是特定于具體類型的,并且提供了用戶界面,以便在設計時配置該編輯器既定支持的屬性類型或不具有重寫屬性的派生類型的屬性。UI 類型編輯器可以顯示“Windows 窗體”或下拉配置界面以便配置屬性。有關實現 UI 類型編輯器的更多信息,請參見如何:實現用戶界面類型編輯器。
| screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='點擊在新窗口瀏覽圖片\nCTRL+Mouse 滾輪可放大/縮小';}" οnclick="if(!this.resized) {return true;} else {window.open(this.src);}" src="http://msdn2.microsoft.com/zh-cn/library/c5z9s1h4.note(zh-cn,VS.80).gif" οnlοad="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='點擊在新窗口瀏覽圖片\nCTRL+Mouse 滾輪可放大/縮小';}" border=0>注意 |
| 類型轉換器和 UI 類型編輯器在設計時和運行時都可使用,而設計器只能在設計時使用。 |
與設計相關的類型下表列出了與設計相關的命名空間中的一些重要的類。
System.Drawing.Design
| 類型 | 說明 |
| UITypeEditor | 提供用于實現值編輯器的基類。 |
| IToolboxService | 提供管理和查詢開發環境中的“工具箱”的方法和屬性。 |
| ToolboxItem | 提供工具箱項的基實現。 |
System.ComponentModel.Design
| 類型 | 說明 |
| DesignerActionList | 為類型提供基類,這些類型定義用于創建智能標記面板的項目的列表。 |
| DesignSurface | 為設計組件提供一個用戶界面。 |
| IDesigner | 提供構建自定義設計器的基本框架。 |
| IRootDesigner | 提供對根級設計器視圖技術的支持。 |
| IExtenderProviderService | 提供一個接口,用于在設計時添加和移除擴展程序提供程序。 |
| UndoEngine | 指定一般撤消/重復功能。 |
System.Windows.Forms.Design
| 類型 | 說明 |
| IWindowsFormsEditorService | 提供一個接口,供 UI 類型編輯器用來在設計模式下顯示 Windows 窗體,或顯示 PropertyGrid 控件中的下拉區域中的控件。 |
| ControlDesigner | 基設計器類,用于擴展 Control 的設計模式行為。 |
| DocumentDesigner | 基設計器類,用于擴展支持嵌套控件并接收滾動消息的 Control 的設計模式行為,并為其提供根級設計模式視圖。 |
System.Windows.Forms.Design.Behavior
| 類型 | 說明 |
| BehaviorService | 管理設計器中的用戶界面。 |
| Behavior | 表示由 BehaviorService 管理的 Behavior 對象。 |
| Adorner | 管理與用戶界面相關的 Glyph 對象的集合。此類不能被繼承。 |
| Glyph | 表示一個由 Adorner 管理的用戶界面 (UI) 實體。 |
設計時服務.NET Framework 提供一組可以擴展設計器功能的設計時服務。使用設計模式中的組件的 GetService 方法可獲取這些服務。您可以使用 IDesignerHost 服務接口的 AddService 方法來添加您自己的可從設計模式項目中訪問的服務類型。
IComponentChangeService 接口允許設計器在編程人員在設計時環境中更改、添加或移除組件時接收通知。
IDesignerEventService 接口允許設計器在編程人員在設計時環境中添加或移除設計器時以及當前組件選擇發生更改時接收通知。
IDesignerFilter 接口允許設計器在屬性瀏覽器中為其組件顯示的屬性集合添加屬性以及篩選屬性集合中的屬性。
IDesignerHost 接口提供了一個用于執行以下操作的接口:添加和檢索服務,處理與設計器狀態相關的事件,檢測設計器當前是否正在加載,以及管理組件或設計器事務。設計器事務使操作序列能夠按這樣一種模式發生:防止設計時視圖在一系列操作完成之前刷新其顯示,以便改善性能,同時,設計器事務還提供了一種機制,可使事務的組件操作能夠被撤消并恢復以前的狀態。
IDesignerOptionService 接口允許設計器獲取和設置 Windows 窗體設計器屬性網格中列出的屬性值,在 Visual Studio 環境中,可從“工具”菜單中的“選項”菜單項訪問 Windows 窗體設計器屬性網格。DesignerOptionService 類擴展了查詢選項的靈活性。
對于用戶定義的數據和可由鍵或值訪問的鍵對,IDictionaryService 接口允許設計器使用基于鍵的集合。
當選中組件時,IEventBindingService 接口允許設計器在設計時公開屬性瀏覽器中的組件的事件。
IExtenderListService 接口允許設計器在設計時環境中獲取當前活動的擴展程序提供程序。IExtenderProviderService 接口允許設計器在設計時添加或移除擴展程序提供程序。
IHelpService 接口允許設計器創建和移除幫助服務上下文、創建和移除幫助上下文屬性以及按照關鍵字或 URL 顯示幫助主題。
IInheritanceService 接口允許設計器搜索派生類的組件并標識每一組件的任何繼承屬性。
IMenuCommandService 接口允許設計器在設計時環境中搜索、添加、移除或調用菜單命令。
IReferenceService 接口允許設計器在當前設計模式項目中按引用獲取對象名稱,按名稱獲取對對象的引用,獲取對指定組件的父級引用,或獲取對指定類型的對象的引用。
IResourceService 接口允許設計器為指定的 CultureInfo 獲取資源讀取器或資源編寫器。
IRootDesigner 接口允許設計器使用自定義設計器視圖屏幕替換根設計器視圖。IRootDesigner 接口必須由組件的設計器實現。
ISelectionService 接口允許設計器獲取對當前所選組件的引用的集合,設置組件或組件集合的選定內容,以及確定是否選定了組件。
IServiceContainer 接口允許設計器添加或移除可被其他組件或設計器使用的服務。
ITypeDescriptorFilterService 接口允許組件或設計器在設計時篩選由任何組件公開的屬性 (Attribute)、事件和屬性 (Property)。ITypeDescriptorFilterService 接口必須由一個類實現;而使用設計模式中設置的組件的 Site 的 AddService 方法,應當可以將該類添加為服務。
ITypeResolutionService 接口允許設計器給項目添加對程序集的引用,按名稱獲取類型或程序集,以及獲取指定程序集的路徑。
DesignerActionService 和 DesignerActionUIService 類實現自定義設計器的智能標記功能。有關更多信息,請參見 Windows 窗體的設計器命令和 DesignerAction 對象模型。
BehaviorService 管理設計器中的用戶界面。它為在設計時操作用戶界面元素(例如與鼠標相關的事件、菜單命令和 OLE 拖放操作)提供了一種統一的方式。有關更多信息,請參見行為服務概述。
CodeDomComponentSerializationService 類可將一組組件或可序列化的對象序列化到一個序列化存儲區中。有關更多信息,請參見設計器序列化概述。
歡迎大家加入 "小強控件園" ,有更多驚喜等著你,進入小強控件園
工欲善其事,必先利其器
小強控件園,MVP技術后盾!趕快加入!
轉載于:https://www.cnblogs.com/HeroBeast/archive/2008/01/20/1046519.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Windows 窗设计时结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mime类型与文件后缀对照表及探测文件M
- 下一篇: 基于visual graph开发实时线损