我的开源尝试:SharpFormEditor 1.0

Sample Image - SharpFormEditorDemo.jpg

SharpFormEditor是一个轻量级的窗体编辑器开源软件,采用C#语言编写。它的演示程序获得CodeProject20063月份的C#类的Prize Winner。SharpFormEditor的核心思想是通过实现用于控件选择和拖拽的矩形橡皮筋(rectangle tracker)和用于显示拖拽效果的透明窗体来实现运行时刻的窗体编辑。它的主要功能是对Windows控件实施添加、删除、拷贝、属性编辑、无限制的Undo/Redo等等。

 

SharpDevelop等基于.NET的其它窗体编辑器的实现方法不同,SharpFormEditor没有采用由.NET 框架所提供的DesignerSurface解决方案。在.NET框架中,用于窗体编辑的一系列操作都被封装成service的形式由框架来实现,通常的做法是通过定制这些service来实现自己的窗体编辑器。但是这种定制并非简单到几句代码就能实现的程度,而且DesignerSurface的实现方法与我们通常所习惯的UI编程相去甚远,大家可以参考SharpDevelop的实现。

 

SharpFormEditor所采用的方法简单直接,很容易在非.NET平台上利用其它框架(比如MFCWTL)来实现,所需要做的只是实现一个矩形橡皮筋(rectangle tracker)和一个“真正”透明的上层窗体。另外SharpFormEditor所采用的方法可以使开发者对于所编辑的实体有完全的控制权,这种方法可以很自然的应用于图片(Image)、图形(Shape/Diagram)、报告(Report)编辑。在后续版本中,可能会加入这些功能。

 

关于SharpFormEditor的具体实现原理请参考我写在CodeProject上的文章(我会尽快更新这篇文章以及所附代码):

 http://www.codeproject.com/csharp/SharpFormEditorDemo.asp

 

SharpFormEditor在CodeProject上的示例代码没有license限制,新的版本将采用GNU General Public License发布在google code-project hosting上sourceforge实在是太难用了):

 http://code.google.com/p/sharpformeditor/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值