经验共享:关于诡异的托盘鼠标事件

今天偶而翻看以前的程序,想给其中一个增加个托盘功能以便更加人性化,托盘化以前是做过的,这次居然鼓捣半天未果,纠结于托盘后鼠标单击无法弹出窗体,而把相关代码复制到新建工程中运行却没有任何问题,这可真是够诡异,查看其他子类化模块和鼠标事件后确定均跟此怪事无关,于是开始研究为何没能触发Form_MouseMove事件,后才发现原因并得以解决。
原来这个托盘的Form_MouseMove事件有一个不大不小的bug(姑且算),就是鼠标移入托盘图标后的鼠标在form中的坐标恒定为
7680,0,所以问题就来了 如果窗体上的这个位置被任意控件遮挡则将无法触发Form_MouseMove事件,而我的程序里这个位置确实是被按钮挡住了,所以无法响应鼠标事件,调整按钮位置空出7680,0这个点后运行恢复正常。

应该还有人被这个bug困扰过,记录下来备忘。

作者: andy95800   发布时间: 2011-06-13

感谢分享……

作者: yiguangqiang88   发布时间: 2011-06-13

记住了,3Q。

作者: shendun2007   发布时间: 2011-06-13

哈哈,真是够诡异的!!感谢分享!!

作者: myjian   发布时间: 2011-06-13