Visual Bascic 2008 Przegądarka Internetowa

Witam

Mam taki problem że nie wiem jak napisać kod do ProgressBar w Visual Bascic 2008 i chodzi oto że jak zaprogramuje przeglądarke internetową to na koniec nie wiem jak napisać kod aby ProgressBar pokazywał mi postęp wczytywania

strony. WebBrowswer to okno na których wyświetjalą się strony.

Proszę o pomoc !!

Gdybym czegoś nie wytłumaczył to napisze lepiej i dokładniej mój problem. :smiley:

Przejrzyj sobie zdarzenia WebBrowser’a.

Ale kliknąć na co?? na webrowswer czy progressbar

ale przerze jeszcze raz

Dodane 17.03.2011 (Cz) 17:56

Jakoś nie moge znaleźć

Napisałem zdarzenia WebBrowser’a którego słowa nie rozumiesz?

Szukasz coś na temat ProgressBar;a zaś nie możesz znaleźć ProgressChanged?

Alfabet znasz?

I czy na pewno szukałeś?

Właśnie nie moge znaleźć ProgressChanged??

Czy to jest aplikacja WPF? Jeśli tak to przejrzyj ten link http://stackoverflow.com/questions/2063855/wpf-webbrowser-how-i-do-access-progress-and-new-window-events. W szczególności zwróć uwagę na ten cytat:

Jeśli to jest aplikacja Windows Forms to zdarzenie ProgressChanged musi tam być. Wówczas możesz użyć takiego kodu:

Private Sub WebBrowser1_ProgressChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserProgressChangedEventArgs) Handles WebBrowser1.ProgressChanged

        If e.CurrentProgress > 0 Then 

            ProgressBar1.Value =

                Math.Min(ProgressBar1.Maximum, Convert.ToInt32(

                         Math.Floor(ProgressBar1.Maximum * (Convert.ToDecimal(e.CurrentProgress) / Convert.ToDecimal(e.MaximumProgress)))

                         ))

        End If

    End Sub

Rozwiązanie częściowo zaczerpnąłem stąd http://social.msdn.microsoft.com/forums/en-US/Vsexpressvb/thread/2ef1ccd4-6c5f-439b-9ef9-44525219150d/. Użycie funkcji Min jak i linijki kodu e.CurrentProgress > 0 może wydawać się niepotrzebne (początkowo zrobiłem po prostu CurrentProgress/MaximumProgress * 100), ale jak się okazuje czasem CurrentProgress > MaximumProgress i czasem CurrentProgress < 0 . Dlaczego tak jest to niestety nie wiem. Nie zagłębiałem się.

Nie wiecz czego pokazuje mi błąd przy Handles??

Dodane 17.03.2011 (Cz) 18:47

Nie poprawiłem a wiesz jak to zrestartować bo progressbar nie restartuje się po wczytaniu innej strony.

  1. Jaki błąd? (Rozumiem, że to jest aplikacja Windows Forms?)

  2. Czego nie poprawiłeś?

  3. Wartość na bank się zeruje (lub jak wolisz “restartuje”), bo gdy nowa strona jest wczytywana to właściwość Value kontrolki ProgressBar jest ustawiana na 0. Stronę wczytujesz używając metody Navigate kontrolki WebBrowser?

Dzięki a wiesz jak zrobić rzeby TextBox wyświetlał link strony.???

Tylko tak pytam.

Wrzucasz sobie na formę button i textbox (do którego będziesz wpisywać link strony) i w zdarzeniu Click button-a wykonujesz taki kod:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        WebBrowser1.Navigate(TextBox1.Text)

    End Sub

To to ja wiem ale mi chodzi że jak mam np:http://www.gry.pl/ to żeby ten link był wyświetlony a nie pusty

TextBox.

Musisz trochę dokładniej opisać o co chodzi. Gdzie masz ten link? Moja kula magiczna jest w serwisie na gwarancji :smiley: Tu możesz jeszcze sprawdzić ten kod:

Private Sub WebBrowser1_Navigated(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated

        TextBox1.Text = WebBrowser1.Url.AbsoluteUri

    End Sub

PS Zapoznaj się z tym linkiem http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx

Ok już wszystko co ok morzna zamknąć temat i wielkie dzięki! !!