c# 取得鼠标悬停位置控件
c# 获得鼠标悬停位置控件
楼主用的GetChildAtPoint
可是问题来了.
主楼用的是Panel 套 Panel 套 Panel 套 控件
GetChildAtPoint 获得的是最低层的控件.
怎么获得鼠标位置最高层的啊?
比如PanelA 套一到多个PanelB
每个PanelB 套一到多个 PanelC
每个PanelC里面有一到多个控件
比如我鼠标停在某个PanelB 上(空白位置) 直接获得这个PanelB
或者说是我鼠标停在某个控件 直接获得这个控件
GetChildAtPoint 永远获得的是最低层的PanelA 啊......
------解决方案--------------------
api函数获取句柄
然后通过句柄获得控件
------解决方案--------------------
http://www.cnblogs.com/q149072205/archive/2011/08/01/2124150.html
------解决方案--------------------
Mouse_Enter不能满足你的需求?
------解决方案--------------------
MouseMove
------解决方案--------------------
获得底层控件再继续找他的子控件呢
楼主用的GetChildAtPoint
可是问题来了.
主楼用的是Panel 套 Panel 套 Panel 套 控件
GetChildAtPoint 获得的是最低层的控件.
怎么获得鼠标位置最高层的啊?
比如PanelA 套一到多个PanelB
每个PanelB 套一到多个 PanelC
每个PanelC里面有一到多个控件
比如我鼠标停在某个PanelB 上(空白位置) 直接获得这个PanelB
或者说是我鼠标停在某个控件 直接获得这个控件
GetChildAtPoint 永远获得的是最低层的PanelA 啊......
------解决方案--------------------
api函数获取句柄
[DllImport("User32.dll")]
private static extern IntPtr WindowFromPoint(Point p);
然后通过句柄获得控件
Control.FromHandle
------解决方案--------------------
http://www.cnblogs.com/q149072205/archive/2011/08/01/2124150.html
------解决方案--------------------
Mouse_Enter不能满足你的需求?
------解决方案--------------------
MouseMove
------解决方案--------------------
获得底层控件再继续找他的子控件呢