日期:2014-05-17  浏览次数:21400 次

在WinForm中绘制设备分布图怎么实现?

------解决方案--------------------
不好意思,刚看到你留的言。
研究了一下,你要画的图,大部分都是图片。
方法一(比较简单,但不支持缩放):弄一个背景图(你所显示的图片)设为窗体背景,在一些需要动态交互的部件上(比如,某个泵)放置一个panel控件(或其它控件也行),设置为透明色,当用户把鼠标移动到该泵时,也就是移动到该panel控件上,这样你只需在panel上处理你所想处理的事件,效果一样。

方法二:为每个部件做一个控件,在做控件的时候你只需注意的是:如果没有动态效果的部件(比如转角,或管道),直接把图片画在控件上就行了(简单,方便,如果一笔一笔去画太麻烦,而且效果也不好);对有动态效果的(比如,需要显示一些数字,或者鼠标移动到该部件时需要一些说明等),你也可以用该部件的图片作为背景图片,然后再图片上放置一些控件来执行你所要的功能。

总之,前期在制作控件的时候,是很繁琐的,不过当你弄顺手后,也就简单得很了,我做的项目都是关于电能质量监测方面的,设计到的一次图都是这么做的,当然工业上一般都是采用SVG的技术来实现的,不过我习惯了GDI了,也就没有用这个技术了,你要是有时间,可以研究研究
------解决方案--------------------
引用:
Quote: 引用:

一个Form根本画不开
可以有滚动条的嘛

感觉可以设置控件的region,比如三角形,这样就不会出现控件周围有空白区域了


由于太多了,用了有1000多个这样的控件,加载的时候很慢,有什么好的解决办法吗?


可以延迟加载,比如界面只能显示200个,就先加载200个,滚动滚动条时再加载200-400个。。。