Есть ли способ динамически создавать и распоряжаться контролем Webbrowser? - PullRequest
3 голосов
/ 02 июня 2009

У меня есть это приложение, которое использует элемент управления Webbrowser для автоматического просмотра. Мне нужно придумать способ автоматического закрытия браузера (утилизации), а затем создать еще один экземпляр, который действительно работает.

Вот часть кода, который у меня есть.

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;

Так что я подумал, избавлюсь ли я от экземпляра веб-браузера.

webBrowser2.dispose();

И затем создание нового экземпляра объекта webbrowser.

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

К сожалению, это не работает. Новый экземпляр браузера не отображается, и удаленный объект браузера просто остается замороженным в форме окна.

Есть ли что-то, что я делаю не так?

Спасибо

1 Ответ

4 голосов
/ 02 июня 2009

Вам необходимо добавить и удалить веб-браузеры из свойства Controls формы:

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

Если вы застряли, есть также эта статья , в которой есть почти полное руководство по добавлению и удалению элементов управления (в нем мало информации о событиях).

...