用户控件Dock设置了Fill,覆盖了底层Form的鼠标移动事件,该怎么处理?
WinForm中,
用户控件Dock设置了Fill,
用户控件上面有有几十个其他控件,
这样用户控件覆盖了底层Form的鼠标移动事件,
用户控件上的几十个控件覆盖了用户控件的鼠标移动事件,
要怎样才能把Form的鼠标移动事件暴露出来?
求一个很简易的办法
------解决方案--------------------最简单的方法,把每个空间的mousemove都注册到你的那个方法上就可以了
------解决方案--------------------如
this.button1.MouseMove += new MouseEventHandler(Form1_MouseMove);
......
------解决方案--------------------foreach(Control cr in this.Controls)
{
if(cr is Button)
cr.MouseMove+=new MouseEventHandler(Form1_MouseMove);
}
------解决方案--------------------主窗口实现IMessageFilter接口即可。
------解决方案--------------------不清楚,帮顶
------解决方案--------------------不都说了么,主窗口实现IMessageFilter接口即可。
别人提个思路,剩下的要自己去研究,有这几天功夫查资料做实验早都搞定了!
------解决方案--------------------事件冒泡
IMessageFilter也可以
------解决方案--------------------只知道注册事件,帮顶