读书人

用户控件Dock设置了Fill覆盖了底层F

发布时间: 2012-02-17 17:50:42 作者: rapoo

用户控件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也可以
[解决办法]
只知道注册事件,帮顶

读书人网 >C#

热点推荐