Я за получение состояния браузера, но для выполняемой мной задачи требуется отдельный поток, чтобы приложение не зависало.

ользовал элемент управления WebBrowser, чтобы перейти на страницу входа в блог WordPress. Страница загружается нормально, но всякий раз, когда я пытаюсь получить доступ к WebBrowser из потока. Я получаю конкретное приведение не допустимое исключение. Также при отладке все зависает примерно на 5 секунд. При отладке я и пытаюсь получить доступ к элементу управления. Я получаю ошибки по тайм-ауту для всех переменных-членов.

//in constructor of main form
Thread.CurrentThread.ApartmentState = ApartmentState.STA;
this.CheckForIllegalCrossThreadCalls = false;

mainThreadHandle = new Thread(mainThread);
mainThreadHandle.Start();

private void mainThread()
{
    wbMain.Navigate("http://example.com/");

    //navigating is set to false in the document complete event.
    navigating = true;

    while (navigating == true)
        Thread.Sleep(5000);

    try
    {
        //Where I get the issues
        MessageBox.Show(wbMain.DocumentText);
    }
    catch (Exception e)
    {

    }

    Thread.Sleep(1000);
}

Ответы на вопрос(2)

Ваш ответ на вопрос