您的位置:首页 > 其它

自己动手创建应用程序界面设计器

2012-11-15 16:53 369 查看
1、Demo界面及功能解释

2、Demo实现简述

3、参考资料

Demo下载

1、Demo界面及功能解释

编译并运行程序,界面如下:

图1:



图2:



功能概述:

a, 窗体左侧为工具栏,可以单击、双击、拖曳的方式来添加控件

b, 窗体右侧为属性(事件)窗口及控件(浏览)选择Combo

c, 窗体中部包括设计器及代码查看Tab页

d, 窗体顶部实现了编辑、对齐、运行等命令项

2、Demo实现简述

a, 设计器的核心是.NET框架提供的DesignSurface类、ServiceContainer类

b, 设计器的扩展点(自定义部分)是通过向ServiceContainer添加自动定义服务类(IOC模式?)或订阅服务类的事件……

c, Demo中的使用或创建的服务类包含了ISelectionService, IComponentChangeService MenuCommandService, CustomToolboxService, NameCreationService, DesignerEventService, EventBindingService.

d, 补充说明: Demo左侧工具栏项目是通过\data\SharpDevelopControlLibrary.xml配置文件定义;窗口中部的代码查看页中使用了SharpDevelop的TextEditorControl.

3、参考资料

关于自定义窗体设计器的具体设计过程请参照如下资源:

[u]利用 .NET Framework 2.0 创建并宿主自定义的设计

[/u]Create And Host Custom Designers With The .NET Framework 2.0 (英文原文)

[u]Hosting Windows Forms Designers


沧海月明 "写Form设计器尝试"系列[/u]

Demo中左侧工具栏的控件使用了 纶巾客 写的一个控件:

[u]***VS风格的Toolbox控件[/u]

对该控件的主要修改如下:

ToolBoxItem类添加了Tag及Image属性以存储Tag数据及显示图片

ToolBox增加了SelectedItemChanged, ItemDoubleClicked, ItemDragStart事件

--------------------------------------------------------------------------------------------------------------------------

SharpDevelop浅析系列这一阶段的文章基本完成了;

暂未涉及到Project组织方式, Debugger 及其它一些Addin项目的分析;学以致用,如果以后有应用需求,也可能会再来补充分析些其它有意思的项目吧..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐