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