Я за получение состояния браузера, но для выполняемой мной задачи требуется отдельный поток, чтобы приложение не зависало.
ользовал элемент управления 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);
}