简介
DrawTools向你展示如何在Windows Form程序中通过鼠标拖动绘制各种图形对象,它实现的固定图形有:矩形框、椭圆、线性和铅笔。并且,你可以通过鼠标选择、移动、删除图形,还可以改变图 形大小等各种操作。另外,程序支持你把绘制的图形保存成文件,可以直接把一个文件从资源管理器中拖到程序界面上打开。
你可以把本程序看着是DRAWCLI(MFC下实现的绘图工具)的一个翻版,同时我们也从它那里借鉴了不少解决思想。
DrawTools工程中包括两个项目,一个是DrawTools应用程序,另一个是DocToolkit类库。
DrawTools项目
* DrawArea - 该类将放置在主界面客户区域,它包括GraphicsList实例,并处理鼠标命令给GraphicsList类。
* GraphicsList - graphic对象列表。包含graphic对象的一个ArrayList,通过DrawObject与每个对象交互。
* DrawObject - 所有的graphic对象的抽象基类。
* DrawRectangle - 矩形图形对象
* DrawEllipise - 椭圆图形对象
* DrawLine - 线条图形对象
* DrawPolygon - 多边形图形对象
* Tool - 所有绘制工具的基类
* ToolPointer - 箭头选择工具,实现选择、移动、改变大小各个图形对象。
* ToolObject - 下面各个绘图工具的基类
* ToolRectangle - 矩形绘图工具
* ToolEllipse - 椭圆绘图工具
* ToolLine - 线条绘图工具
* ToolPolygon - 多边形绘图工具
DocToolkit项目
DocToolkit库包含一系列文件操作类:
DocManager:实现open, new, save, 更新form的title,向windows注册文件类型。参考:Creating Document-Centric Applications in Windows Forms by Chris Sells.
DragDropManager:允许你直接从Windows浏览器或桌面上直接拖动一个文件到本程序,并打开。
MruManager:管理最近使用的文件列表
PersistWindowState:在注册表中保存最后的窗口状态,当下次form加载的时候自动恢复到最后一次的状态。参考:Saving and Restoring the Location, Size and Windows State of a .NET Form By Joel Matthias.
文章来源:http://www.msproject.cn/Document/DrawTools.html
作者:爱国者
原英文文章:CodeProject
原英文作者:Alex Fr
下面是一些关于此文的其他链接
DrawTools(画图工具) From CodeProject
CodeProject - DrawTools(画图工具)