一个容器(如panel)控件中有很多子控件,当鼠标进入panel触发mouseEnter,但是当鼠标进入其子控件区域或者是移出panel区域,都会触发mouseLeave事件,如何区分这两种情况?
There is no simple way to do it.
One way could be to check all the controls inside the Form and if mouse is not over any of them this means mouse is outside the Form
Another way could be to check inside mouse leave event whether mouse is inside the window boundary or not
Another way could be to check inside mouse leave event whether mouse is inside the window boundary or not
我想到的也是这个方法,但是不知道怎么搞?
在panel的mouseleave中去判断此时鼠标是否在panel 的区域内?
@爱编程的大叔: Thanks
有必要判断这个吗?为什么总是要搞非常奇怪的解决方案?
要判断也很简单,检查鼠标点是否在 panel 客户区内。
因为只要鼠标还在控件内(包括子控件内),需要在panel上显示一些效果,当鼠标移除了panel的范围,这个效果就消失,
如何 检查鼠标点是否在 panel 客户区内。?
在Mouseleave中去处理?
@CX_: 只是移动鼠标吗?
@Launcher: 是的,鼠标在panel范围内显示边框,不在panel内,不显示边框
@CX_: 鼠标在按下状态时在 panel 范围内,显示边框吗?
@Launcher: 一直在忙,问题已解决