Funkcja określająca czy załądowano stronę

0

Witam, mam następujący problem.
Robię aplikację desktopową, która wchodzi w przeglądarkę i potrzebuję funkcję, która będzie sprawdzać czy strona jest załadowana, jeśli tak to program "idzie" dalej, a jeśli nie to czeka aż się załaduję.
Na razie mam na siłę (na sztywno) ustawiony czas, po którym wszystko będzie załadowane... ale to jest bez sensu bo czasem strona załaduję się po 100msach a czasem po 3 sekundach...

Jeśli ktoś ma propozycję, albo choć jakieś podpowiedzi to bardzo proszę o pomoc ;)

Pozdrawiam,
LoK

1

Co to znaczy "wchodzi w przeglądarkę"? Wyjaśnij używając co najmniej 15 wyrazów.

0

To znaczy korzysta z webBrowsera, którego mam w mojej aplikacji, konkretnie w jednej z zakładek.
Przykład tego co robię:

        private void button1_Click(object sender, EventArgs e)
        {
            webBrowser1.Document.GetElementById("user").SetAttribute("value", textBox1.Text);
            webBrowser1.Document.GetElementById("password").SetAttribute("value", textBox2.Text);
            webBrowser1.Document.GetElementById("login_button").InvokeMember("click");
        }

Chodzi o to że wyszukuję poprzez użycie GetElementById i jak program będzie od razu wyszukiwał danego elementu ze strony to go nie znajdzie bo nie będzie on jeszcze załadowany, dlatego strona musi się załadować i dopiero szukać dalej.

1

http://msdn.microsoft.com/en-[...].forms.webbrowser_events.aspx

Przeczytaj (ze słownikiem w ręku jak masz problem z angielskim) opis każdego z tych zdarzeń.

0

Liczyłem na troszkę konkretniejszą odpowiedź, ale dzięki, przeczytam.

#edit:
Jeżeli ktoś ma podobny problem to podaje rozwiązanie na tacy:

 private void wait()
        {
            while (webBrowser1.ReadyState == WebBrowserReadyState.Complete) Application.DoEvents();
        }
1

Nie posłuchałeś mnie i znalazłeś w Internecie głupią metodę kolejnego gościa, który nie potrafi korzystać z dokumentacji.

0

No to powiedz mi dlaczego jest głupia? Co w niej jest gorszego od tego co mogłem znaleźć w linku który mi podałeś ?

1

Każda metoda na sprawdzanie stanu czegoś w pętli jest gorsza od zdarzenia.

0

A czy mógł byś powiedzieć mi jakie zdarzenie jest odpowiedzialne za to czego szukam ?
Przyznaje, że nie przeszukałem tego dokładnie, mógł byś zaoszczędzić mi trochę czasu i podać to zdarzenie ?

A przy okazji, jest jakaś metoda na ściągnięcie adresu przeglądarki, który aktualnie mam wyświetlony w webBrowserze? To znaczy jest na pewno, ale jak się nazywa ta metoda?

2

Czy naprawdę tak trudne jest dla ciebie przeczytanie 15 pierwszych zdań z tabelki, do której link ci wysłałem? Wiesz, że daleko nie zajedziesz z takim podejściem?

To drugie to prawie ta sama sytuacja, tylko musisz poszukać wśród właściwości, a nie zdarzeń.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0