C # Проблема WebBrowserReadyState - знать, когда страница обновилась - PullRequest
0 голосов
/ 21 октября 2011

Надеюсь, это не глупый вопрос.Однако сейчас я пишу программу, которая является интерфейсом для системы бронирования сайтов.Когда я перехожу к определенной ссылке, она запоминает предыдущую информацию на странице - поэтому я должен заставить ее загрузить страницу, а затем обновить - это немного запутанно, поэтому я создал другую форму, которая появляется во время загрузки, которая называется PleaseW.CS.Он покажет «пожалуйста» для первого цикла while, а затем я предполагаю, что для «WebBrowserReadyState» установлено значение «Завершено».и он более или менее закрывает форму «пожалуйста» до завершения обновления.Что я могу сделать, чтобы сбросить «WebBrowserReadyState», прежде чем он обновляется?Или вообще есть другое решение?

Большое спасибо за поиск

Вот код:

    private void button7_Click_1(object sender, EventArgs e)
    {

        webBrowser1.Navigate("www.test.co.uk");
        pleasew pleasewait = new pleasew();
        pleasewait.Show();

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

        }

        webBrowser1.Refresh();

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

        }
        pleasewait.Hide();

    }

1 Ответ

0 голосов
/ 21 октября 2011

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

Попробуйте выполнить второй переход вместо обновления и посмотрите, что произойдет.

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