SharpDevelop淺析_5_Windows Forms Designer
自己動(dòng)手創(chuàng )建應用程序界面設計器
1、Demo界面及功能解釋
2、Demo實(shí)現簡(jiǎn)述
3、參考資料
Demo下載
1、Demo界面及功能解釋
編譯并運行程序,界面如下:
圖1:


2、Demo實(shí)現簡(jiǎn)述
a, 設計器的核心是.NET框架提供的DesignSurface類(lèi)、ServiceContainer類(lèi)
b, 設計器的擴展點(diǎn)(自定義部分)是通過(guò)向ServiceContainer添加自動(dòng)定義服務(wù)類(lèi)(IOC模式?)或訂閱服務(wù)類(lèi)的事件……
c, Demo中的使用或創(chuàng )建的服務(wù)類(lèi)包含了ISelectionService, IComponentChangeService MenuCommandService, CustomToolboxService, NameCreationService, DesignerEventService, EventBindingService.
d, 補充說(shuō)明: Demo左側工具欄項目是通過(guò)\data\SharpDevelopControlLibrary.xml配置文件定義;窗口中部的代碼查看頁(yè)中使用了SharpDevelop的TextEditorControl.
3、參考資料
關(guān)于自定義窗體設計器的具體設計過(guò)程請參照如下資源:
利用 .NET Framework 2.0 創(chuàng )建并宿主自定義的設計
Create And Host Custom Designers With The .NET Framework 2.0 (英文原文)
Hosting Windows Forms Designers
Demo中左側工具欄的控件使用了 綸巾客 寫(xiě)的一個(gè)控件:
制作VS風(fēng)格的Toolbox控件
對該控件的主要修改如下:
ToolBoxItem類(lèi)添加了Tag及Image屬性以存儲Tag數據及顯示圖片
ToolBox增加了SelectedItemChanged, ItemDoubleClicked, ItemDragStart事件
--------------------------------------------------------------------------------------------------------------------------
SharpDevelop淺析系列這一階段的文章基本完成了;
暫未涉及到Project組織方式, Debugger 及其它一些Addin項目的分析;學(xué)以致用,如果以后有應用需求,也可能會(huì )再來(lái)補充分析些其它有意思的項目吧...
聯(lián)系客服