Seganapa
@Seganapa

Webbrowser C# Как сделать паузу

Пишу небольшое приложение, использую webbrowser.
Есть форма, программно ее заполняю, нажимаю кнопку,
Форма изменяется без перезагрузки страницы (Ajax), т.е. отследить обновление не получается.
Во вторую форму нужно тоже внести некоторые данные…

Решения вижу два — либо как-то отловить событие об обновлении страницы, либо сделать паузу в выполнении…
Но как правильно реализовать, найти так и не удалось…

Нашел такую функцию, она работает, но очень медленно…
private void waitTillLoad()
        {
            WebBrowserReadyState loadStatus;
            //wait till beginning of loading next page
            int waittime = 100000;
            int counter = 0;
            while (true)
            {
                loadStatus = webBrowser1.ReadyState;
                Application.DoEvents();

                if ((counter > waittime)||(loadStatus == WebBrowserReadyState.Uninitialized)||(loadStatus == WebBrowserReadyState.Loading)||(loadStatus == WebBrowserReadyState.Interactive))
                {
               
                    break;
                    
                }
                counter++;
           
            }

            //wait till the page get loaded.
            counter = 0;
            while (true)
            {
                loadStatus = webBrowser1.ReadyState;
                Application.DoEvents();

                if (loadStatus == WebBrowserReadyState.Complete)
                {
                  
                    break;
                }
                counter++;
         
            }


Подскажите, пожалуйста, нормальное решение…
  • Вопрос задан
  • 5976 просмотров
Пригласить эксперта
Ответы на вопрос 2
Seganapa
@Seganapa Автор вопроса
Интересно за что минус?
Ответ написан
Комментировать
easyman
@easyman
Почему бы не сделать просто 2 post запроса с помощью WebClient?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы