日期:2014-05-18  浏览次数:20811 次

【求助】一个布点的程序,希望能给一点思路
我现在在做一个网络显示的程序,做到现在遇到了很多问题,也许是开始的架构、思路就没有想好,希望大家给点思路。

我是要在程序中经过计算显示出一些点(用圈表示),这些点代表一个一个的人,类似关系网。这些点可以点击、查看,可以用滚轮控制整个图的放大和缩小。

现在我是用在picturebox中的drawimage drawellipse darwLine等方法做出的图,但是在放大缩小的时候、移动的时候会出现闪烁,在点击引发事件的时候也没有按钮那么好使,都要判断坐标是否在点的范围内。请问我是否要换换思路呢?

我会看大家的回复,一起讨论下吧

------解决方案--------------------
如果你整天Print代码很多,计算复杂,你在一些操作中就会有闪烁了,你可以这样,把那些背景,或一些暂时没有用到的生成一个Bitmap载入的图片框的Image中,这样可以减少你在Print的代码,减重复计算的代码
例如你要拖动一个图标,在判断鼠标点下这图标时就可以生成一个除去这图标其它不变的图片设为Image属性的值,图标拖去可以用Print事件去处理,鼠标放开始再由Image的图片加上这个图标的坐标再生成一个新的Image
------解决方案--------------------
其实就是所谓的缓存机制,减少重复的代码去增加效率