Code Bye

用C#实现作图的功能

用C#在VS2010进行界面设计的过程中,怎么样实现画图的功能,只需要画出流程图,以及相应的代码
解决方案

10

30

引用 2 楼 wsx0716 的回复:

就是需要画出来图片里的这种图,有没有具体的操作过程,本人是学机械的,悲惨的被老师分到了软件的课题,对这方面了解实在是太少了,假如有的话,非常感谢

这种程序本身很简单,使用WPF最初级的功能就可以实现。但是对于业余编程人员,这可能是比较难以理解的,原因是它需要的知识不是“现学现卖的一两个点”,而是软件工程经验。
首先你要设计好三种图形的数据结构,用于在后台长期保存流程图。一个流程图中可能有几百个图形,但是不过也就这三种。例如其中“线”,除了包含有文字,还有一个拐点(端点)的坐标数组。
在用户操作界面,就是在画布上添加三种图形的实例(每一种图形使用一个独立的用户控件来实现),添加多个。然后监听相应部件的各种“鼠标点击、鼠标划过、鼠标拖放”事件。
*需要能够让用户拖动图形整体(改变其坐标),或拖动线上的拐点。线的结束点的箭头(两个很短的线段)要自动计算倾斜角度。
*在两种圆角矩形的图形被拖动时,根据原来的线端点与矩形的相对偏移坐标,可以用矩形新坐标来计算出线端点的新坐标,从而让“当拖动矩形时,凡是在边框上或边框内的线端点都实时跟随挪动”。
*当保存时,遍历全部的图形的“保存”功能,返回三种图形数据结构,形成一份“流程图”数据结构。长期保存起来。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明用C#实现作图的功能