在注册事件前加上下面这个属性设置看一下
this.webBrowser1.AllowWebBrowserDrop = false; //可在属性里设置,很重要参考: blog.csdn.net/yuananyun/article/details/5640701
this.webBrowser1.AllowWebBrowserDrop = false; //可在属性里设置,很重要参考: blog.csdn.net/yuananyun/article/details/5640701
尽量不要在COM事件处理中放阻塞性操作。
通过反复测试,终于找到问题原因。
在.net2.0条件下,可以正常捕获到newwindow3事件,但同样的代码在.net4.0下就只能捕获到newwindow2事件。以上代码是在.net4.0条件下运行的。后发现在shdocvw属性中.net4.0比.net2.0多了一个嵌入互操作类型的属性,将其改为false,正常,改回true就无法使用newwindow3事件。
问题解决但原因不明,有兴趣的朋友可以帮测试一下。