объект веб-браузера и свойство документа

Я хочу программно войти на другой веб-сайт с помощью объекта веб-браузера, поэтому в моем проекте есть объект веб-браузера. Проблема заключается в том, что каждый раз, когда он перемещается по любому адресу, его свойство «документ» все время остается нулевым, поэтому событие DocumentCompleted никогда не срабатывает. Пример кода приведен ниже. Не могли бы вы дать какие-либо предложения? Заранее спасибо.

    private WebBrowser browser;

    protected void Page_Load(object sender, EventArgs e)
    {
        var t = new Thread(CreateBrowser);
        t.SetApartmentState(ApartmentState.STA);
        t.Start();

    }

    private void CreateBrowser()
    {
        browser = new WebBrowser();
        browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browser_DocumentCompleted);
        browser.Navigate("http://www.google.com");

    }

person diyapesen    schedule 24.10.2013    source источник


Ответы (1)


Вам нужен цикл сообщений в новом потоке, где вы создаете экземпляр WebBrowser, это необходимо для правильной работы элемента управления WebBrowser и запуска событий. Это то, что делает Application.Run. Вот отличный пример того, как это можно сделать.

person noseratio    schedule 24.10.2013