Отговори (1)
Правилна идея, грешно изпълнение. WebBrowser.Navigate() само казва на уеб браузъра да започне да навигира до уеб страницата, която сте поискали. Това отнема време, обикновено стотици милисекунди. Internet Explorer вътрешно стартира нишки, за да свърши работата. Той ви казва кога е готово чрез повдигане на събитието DocumentCompleted. Вие не чакате това, така че първо е градът на катастрофата.
Следващият проблем е, че събитието DocumentCompleted няма да бъде повдигнато във вашия код. Трябва да спазвате STA договора, той изисква да изпомпвате цикъл на съобщения. Това е най-могъщият начин, по който фонова нишка, като тази, която IE използва за извличане на уеб страница, казва на вашата нишка, че работата е свършена.
Шаблонният код, от който се нуждаете, е наличен в този отговор .
webBrowser.ScriptErrorsSuppressed = true
(което, въпреки името си, потиска всички диалогови прозорци, а не само грешки в скрипта ). Вижте също.
- person BlueRaja - Danny Pflughoeft; 16.12.2013