有没有办法动态创建和处理Webbrowser控件?

我有这个使用Webbrowser控件进行自动浏览的应用程序。 我需要想出一种方法来自动关闭浏览器(dispose),然后创建另一个实际工作的实例。

这是我到目前为止的一些代码。

this.webBrowser2 = new System.Windows.Forms.WebBrowser(); this.webBrowser2.Dock = System.Windows.Forms.DockStyle.Bottom; this.webBrowser2.Location = new System.Drawing.Point(0, 34); this.webBrowser2.MinimumSize = new System.Drawing.Size(20, 20); this.webBrowser2.Name = "webBrowser2"; this.webBrowser2.ScriptErrorsSuppressed = true; this.webBrowser2.Size = new System.Drawing.Size(616, 447); this.webBrowser2.TabIndex = 1; 

所以我在考虑是否处理了webbrower实例。

 webBrowser2.dispose(); 

然后创建webbrowser对象的新实例。

 WebBrowser w = new WebBroswer(); w.Navigate(url); 

不幸的是,这不起作用。 浏览器的新实例未显示,并且已处置的浏览器对象在Windows窗体中保持冻结状态。

有什么我做错了吗?

谢谢

您需要从窗体的Controls属性中添加和删除WebBrowsers:

 this.Controls.Remove(webBrowser2); this.Controls.Add(w); 

如果你遇到困难,那么这篇文章也有一个几乎完整的添加和删除控件的演练(它没有包含很多关于事件的内容)。