在注册事件前加上下面这个属性设置看一下
this.webBrowser1.AllowWebBrowserDrop = false;  //可在属性里设置,很重要参考: blog.csdn.net/yuananyun/article/details/5640701

解决方案 »

  1.   

    MessageBox.Show这个是阻塞性操作,没返回的时候事件不会继续触发
    尽量不要在COM事件处理中放阻塞性操作。
      

  2.   

    感谢楼上两位回贴。
    通过反复测试,终于找到问题原因。
    在.net2.0条件下,可以正常捕获到newwindow3事件,但同样的代码在.net4.0下就只能捕获到newwindow2事件。以上代码是在.net4.0条件下运行的。后发现在shdocvw属性中.net4.0比.net2.0多了一个嵌入互操作类型的属性,将其改为false,正常,改回true就无法使用newwindow3事件。
    问题解决但原因不明,有兴趣的朋友可以帮测试一下。