首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

在MouseLeave()和MouseEnter()事件中无法实现类似qq窗体的停靠功能?该如何解决

2012-01-12 
在MouseLeave()和MouseEnter()事件中无法实现类似qq窗体的停靠功能???因为,当我的窗体滑出屏幕以后,鼠标没

在MouseLeave()和MouseEnter()事件中无法实现类似qq窗体的停靠功能???
因为,当我的窗体滑出屏幕以后,鼠标没有办法再移动到其可见区域,导致MouseEnter()事件无法触发,

如何可以解决这个问题???

[解决办法]

引用楼主 wesleyluo 的帖子:
因为,当我的窗体滑出屏幕以后,鼠标没有办法再移动到其可见区域,导致MouseEnter()事件无法触发,

如何可以解决这个问题???

[解决办法]
移动窗体的时候,为什么鼠标没法移动到可见区域...你可以判断鼠标当前位置等,是否在窗口范围 PointInRect()
[解决办法]
所客户区不会小到看不到,而是留有一个“小条”,就用这个小条来接收MouseEnter消息,比如QQ、Msn等不都是有一个小的“条型”存在吗?宽(或高)可以设置为5-15等,这样不会影响大体外观又能接收鼠标的事件。
[解决办法]
可以在鼠标拖放事件中检测鼠标在屏幕中的位置,以此来避免上述情况。

[解决办法]
不要将窗体全部都滑出屏幕,留一些用来接收鼠标事件。
[解决办法]
QQ窗体也不是完全不可见吧,必须要留有一定边界才可以的嘛。。

热点排行