哪位高手能解释下这段代码什么意思??winform的
public event EventHandler Completed
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x210)
{
if ((!base.DesignMode && (m.WParam.ToInt32() == 2)) && (this.Completed!= null))
{
this.Completed(this, new EventArgs());
}
this.DefWndProc(ref m);
}
else
{
base.WndProc(ref m);
}
}
还有第二个问题,如果需要在注册Completed事件时。验证如果注册的是同个委托方法.不添加进去..如果不是同个委托方法。。就加入。应该在Completed的 add remove中怎样写验证代码???????
WndProc函数是用来拦截或响应windows消息用的,0x210对应的时WM_PARENTNOTIFY,在鼠标点击的时候一般就会发生。具体可以参看这个网页http://msdn.microsoft.com/en-us/library/ms632638(v=vs.85).aspx。
你的例子中的这个函数从功能上来看就是在当窗口点击鼠标时,对未完成的事件调用一下this.Completed函数。
至于你的第二个问题,给个链接地址你参考下吧。http://space.itpub.net/782823/viewspace-342953
这是自定义控件(或者窗口)处理Windows消息的机制,绝大部分情况下都无需这么做。有关的参考资料,请访问 http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.wndproc(v=VS.80).aspx
第二个问题,我在另外一个地方回答了一个类似的问题,请参考 http://q.cnblogs.com/q/46849/
webForm的路过