dotNet,WinForm 实现表单窗体设计器

作者:互联网   出处:控件中国网   2014-11-05 19:18:26   阅读:1

外观如图所示,实现的功能包括基本的移动,拖动虚线边框和手柄调整尺寸,移动和调整尺寸过程中均可绘制对齐线,自动对齐,和Visual Studio效果一样,支持画框多选后同时操作多个对象.





类图:



我实现的方法自己感觉还是比较挫的,并不复杂.

看这个对象,我将虚线边框定义为TargetSizeLine,将手柄定义为TargetSizeDot,TargetSizeGroup的意思是边框组,用来保存若干个手柄对象和边框对象,一个边框组中一般保存四个边框对象,分别为四条边.
TargetSizeDot对象通过一个枚举,TargetDirection,来表示其所代表的方向,这在调整目标对象的尺寸时使用.
中间粉色的目标对象,我是从UserControl继承的,为UserControlTarget,它绑定一个TargetSizeGroup对象.
通过边框调整目标对象的尺寸是在边框组对象中响应的,在类图上可以看到TargetSizeGroup里的事件:OnMouseDown,OnMouseMove,OnMouseUp.
拖动和调整尺寸只要响应这几个鼠标事件即可.
绘制对齐线和自动对齐其实也比较简单,移动或调整对象尺寸时,和已有的其它对象对比,如果边框距离相近,如5像素之内,就直接让它靠到那条线上去,而画线,就判断如果边框在同一条线上,就DrawLine.

Copyright© 2006-2015 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 渝ICP备12000264号 法律顾问:元炳律师事务所
客服软件
live chat