Подождите, пока WebBrowser завершит процесс - PullRequest
1 голос
/ 04 сентября 2011

Каков наилучший способ кодирования в ожидании, пока браузер завершит процесс, прежде чем продолжить?Я попробовал этот код ниже, и процесс не ждет его завершения, прежде чем обрабатывать следующую ссылку.

    void WaitBrowserLoading()
    {
        while (webBrowser1.IsBusy)
            Application.DoEvents();
        for (int i = 0; i < 500; i++)
            if (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
            {
                Application.DoEvents();
                lblStoreID.Text = "";
                //System.Threading.Thread.Sleep(5);
            }
            else
                break;
        Application.DoEvents();
    }

1 Ответ

0 голосов
/ 04 сентября 2011

Делают ли события Navigated или DocumentCompleted то, что вы хотите?Я подозреваю, что последнее более подходит для вас:

Обработайте событие DocumentCompleted для получения уведомления, когда новый документ заканчивает загрузку.Когда происходит событие DocumentCompleted, новый документ полностью загружается, что означает, что вы можете получить доступ к его содержимому через свойство Document, DocumentText или DocumentStream.

По сути, вы отключите все элементы управления (или всеВы хотите «остановить») перед навигацией, а затем снова включить их при возникновении события.

...