SharpDevelop浅析_5_Windows Forms Designer 自己动手创建应用程序界面设计器

 

SharpDevelop浅析_5_Windows Forms Designer
自己动手创建应用程序界面设计器

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、参考资料
关于自定义窗体设计器的具体设计过程请参照如下资源:
利用 .NET Framework 2.0 创建并宿主自定义的设计
Create And Host Custom Designers With The .NET Framework 2.0 (英文原文)

Hosting Windows Forms Designers


沧海月明 "写Form设计器尝试"系列


Demo中左侧工具栏的控件使用了 纶巾客 写的一个控件:
制作VS风格的Toolbox控件
对该控件的主要修改如下:
ToolBoxItem类添加了Tag及Image属性以存储Tag数据及显示图片
ToolBox增加了SelectedItemChanged, ItemDoubleClicked, ItemDragStart事件

--------------------------------------------------------------------------------------------------------------------------
SharpDevelop浅析系列这一阶段的文章基本完成了;
暂未涉及到Project组织方式, Debugger 及其它一些Addin项目的分析;学以致用,如果以后有应用需求,也可能会再来补充分析些其它有意思的项目吧...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值