首页 新闻 会员 周边

c#编程高手进。。

0
悬赏园豆:20 [已解决问题] 解决于 2013-04-14 12:43

哪位高手能解释下这段代码什么意思??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中怎样写验证代码???????

KeVinDurant的主页 KeVinDurant | 初学一级 | 园豆:5
提问于:2013-02-24 18:53
< >
分享
最佳答案
0

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

收获园豆:10
天方 | 大侠五级 |园豆:5407 | 2013-02-24 19:45
其他回答(2)
0

这是自定义控件(或者窗口)处理Windows消息的机制,绝大部分情况下都无需这么做。有关的参考资料,请访问 http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.wndproc(v=VS.80).aspx

 

第二个问题,我在另外一个地方回答了一个类似的问题,请参考 http://q.cnblogs.com/q/46849/ 

收获园豆:10
陈希章 | 园豆:2538 (老鸟四级) | 2013-02-24 19:46
0

webForm的路过

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-02-25 10:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册