一个工控软件,要求在一个建筑的平面图上直接进行操作。这个平面图上分布了一些设备。
在鼠标移动到这些设备上时,显示相关信息。点击设备时,弹出操作菜单。目前的方案:
有一个设备列表,这个列表保存着设备的图元ID,座标,图元的宽和高。
首先用picturebox装载建筑的平面图,然后根据上面所说的设备列表把设备的图一一绘制到平面图上。现在不知如果检测鼠标是否移到了设备的图元上。
设想的方案是:
在picturebox 的mousemove事件中用鼠标的当前点一一去比对上述的设备列表的座标。这样效率太低了,设备多的时候比较卡,不知大家有没有更好的方法?有代码更好了,谢谢!
在鼠标移动到这些设备上时,显示相关信息。点击设备时,弹出操作菜单。目前的方案:
有一个设备列表,这个列表保存着设备的图元ID,座标,图元的宽和高。
首先用picturebox装载建筑的平面图,然后根据上面所说的设备列表把设备的图一一绘制到平面图上。现在不知如果检测鼠标是否移到了设备的图元上。
设想的方案是:
在picturebox 的mousemove事件中用鼠标的当前点一一去比对上述的设备列表的座标。这样效率太低了,设备多的时候比较卡,不知大家有没有更好的方法?有代码更好了,谢谢!
你好,我是在picturebox的mousemove事件里捕捉鼠标座标,如果sleep的话,会更卡吧。你好。因为软件要考虑通用性,新的环境下,不用重新编写程序。加上客户可能日后会安装新的设备和在新环境下使用,要提供绘制平面图的功能,所以这个方法不太方便。
不知WINDOWS底层是如何实现这个的。在一个面板上放上几百个按钮,也不会很卡。