Документ WebBrowser всегда нулевой - PullRequest
7 голосов
/ 29 марта 2012

У меня есть этот кусок кода:

WebBrowser wb = new WebBrowser();
wb.Navigate(URL);
HtmlDocument doc = wb.Document;

Я должен отметить, что у меня нет элемента управления WebBrowser на форме, он просто используется в моем классе. После этого wb.Document и doc также будут нулевыми. Это почему? Что мне нужно сделать, чтобы получить этот документ?

Ответы [ 2 ]

14 голосов
/ 29 марта 2012

Вам следует обработать событие DocumentCompleted и обращаться к документу в обработчике событий при его запуске.

Навигация и загрузка документов обрабатываются асинхронно - поэтому элемент управления фактически не перемещался и ничего не загружал, когда возвращается метод Navigate; следовательно, почему они нулевые.

1 голос
/ 29 марта 2012

Всегда пусто, потому что еще не загружено.

Вам нужно подписаться на событие webBrowser.DocumentCompleted.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...