项目中要求用Winform做一个动态流程图,现在我遇到的问题是:
1:当线连接两框一样的范围图片时,如果这两对象不在同一水平线,或不在同一垂直线,要让这线自动变为折线,这折线的两个折点怎么计算,给个思路或公式都行?当鼠标拖动这根线时,这点要有相应变化,(就是vs2005里面的那个画类图的线一样的功能)
2:还有把界面上的图型保存起来,下次再用。当前是借鉴别人的一个方案是new Datatable保存信息,再保存到数据库。
3:设置状态怎么使选中的线让头中尾出现3个框?尤其是中间的。
问得比较多啊 ,哈哈。请教高手。最优答案我给100分。明天再补50分,鼓励辛苦的各位。
若有类似的源码希望能发份给我参考参考,先谢了。邮箱:[email protected]
1:当线连接两框一样的范围图片时,如果这两对象不在同一水平线,或不在同一垂直线,要让这线自动变为折线,这折线的两个折点怎么计算,给个思路或公式都行?当鼠标拖动这根线时,这点要有相应变化,(就是vs2005里面的那个画类图的线一样的功能)
2:还有把界面上的图型保存起来,下次再用。当前是借鉴别人的一个方案是new Datatable保存信息,再保存到数据库。
3:设置状态怎么使选中的线让头中尾出现3个框?尤其是中间的。
问得比较多啊 ,哈哈。请教高手。最优答案我给100分。明天再补50分,鼓励辛苦的各位。
若有类似的源码希望能发份给我参考参考,先谢了。邮箱:[email protected]
问题2:可以保存为XML文件,当然,原理和数据库是一样的,保存方式不同而已。
问题3:这个线最好做成个类,就可以添加事件、属性控制不同情况的样子了。比如添加鼠标点选时在自身头中尾画三个框的事件是很容易的。网上有现成的自定义控件画焦点框的代码,参考改一下就行了。
2:保存基本上有几个方法,系列化、实体,如果使用系列化方法,可以把这些图形对象直接系列化保存,如果使用每一个图形的实体的话,记录这些图形的基本信息就可以了,转换为文本即可保存。3:靠计算,然后重绘,CAD中都有现成的处理算法。
找到了DrawTools的源码,但是看了半天,晕
他好会封装,汗了折线问题解决了