.NET webbrowser - документ заполнен не отвечает правильно - PullRequest
1 голос
/ 10 января 2011

Я делаю это:

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    if (webBrowser1.DocumentText.IndexOf("Negative Orders") != -1)
    {
        webBrowser1.Navigate(@"http://............somepage");

        while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
        {
            Application.DoEvents();
        }

        MessageBox.Show("finished loading");
    }
}

происходит нечто очень странное. он успешно входит в IF STATEMENT; однако, когда он выполняет webBrowser.Navigate, он вводит while, а через некоторое время просто возвращается. это вообще не делает окно сообщения.

что здесь происходит?

Ответы [ 2 ]

1 голос
/ 10 января 2011

Похоже, исключение происходит.Попытайтесь поместить все это в ловушку попытки и разрыв, когда происходит исключение

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    try
    {
        if (webBrowser1.DocumentText.IndexOf("Negative Orders") != -1)
        {
            webBrowser1.Navigate(@"http://............somepage");

            while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
            {
                Application.DoEvents();
            }

            MessageBox.Show("finished loading");
        }
    }
    catch (Exception x)
    {
        System.Diagnostics.Debugger.Break();
    }
}
0 голосов
/ 17 ноября 2011

Я считаю, что ваше окно сообщения не вызывается, потому что ваш код все еще находится в разделе Application.DoEvents(); в глубине стека вызовов.Вероятно, вы ожидаете, что вы выйдете из метода webBrowser1_DocumentCompleted, чтобы вызвать следующий обработчик DocumentCompleted и, наконец, установите для ReadyState значение Complete.

Я вообще не рекомендую использовать Application.DoEvents();, но специально не внутри webBrowser1_DocumentCompleted.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...