Autor Beitrag
Xardas008
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win 7 Professional x64, Ubuntu 10.04, Windows Server 2008 R2
C#, Visual Studio 2008 Pro, Visual Studio 2010 Ultimate, Eclipse (Java)
BeitragVerfasst: Mi 23.04.08 20:42 
Hallo,

ich habe zur Zeit folgendes Problem, ich bin zum Üben einen kleinen Browser am schreiben, der Aufruf von Internetseiten funktioniert soweit ja auch einwandfrei (naja mit dem WebBrowser-Control ja kein Ding, werde mich aber später irgendwann mal an ein eigenes Wagen um die Funktionsweise besser zu verstehen).
Nur habe ich keinen Plan, wie ich die Statusleiste unten aktualisieren kann, die MSDN-Hilfe liefert mir irgendwie kein zufriedenstellendes Beispiel.

Also die Problematik: Es muss erst festgestellt werden, wiegroß die Seite überhaupt ist, und dann muss er ständig den aktuellen Status unten wiedergeben.

Folgendes habe ich versucht:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            webBrowser1.Navigate(cmb_URL.Text);
            //prog_Fortschritt.Maximum = webBrowser1.;
            //for (int i = 0; i < prog_Fortschritt - 1; i++)
            //{
                if (webBrowser1.ProgressChanged)
                {
                    prog_Fortschritt.PerformStep();
                }
         //   }
        }

Dies bricht mir folgender Fehlermeldung ab:
Fehler 1 Das Ereignis "System.Windows.Forms.WebBrowser.ProgressChanged" kann nur links von += oder -= verwendet werden.

Hat einer eine Idee oder kennt eine gute Seite wo das gut erklärt wird?
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 23.04.08 20:56 
ProgressChanged ist ein Ereignis, keine Eigenschaft. Also Control markieren, "Eigenschaften", "Ereignisse", Doppelklick, schon hast du einen Eventhandler dafür.
Xardas008 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win 7 Professional x64, Ubuntu 10.04, Windows Server 2008 R2
C#, Visual Studio 2008 Pro, Visual Studio 2010 Ultimate, Eclipse (Java)
BeitragVerfasst: Mi 23.04.08 21:18 
user profile iconKhabarakh hat folgendes geschrieben:
ProgressChanged ist ein Ereignis, keine Eigenschaft. Also Control markieren, "Eigenschaften", "Ereignisse", Doppelklick, schon hast du einen Eventhandler dafür.


Wie dumm von mir. Aber ok hab es nun so gemacht, funktioniert soweit auch schon.

Nur will ich jetzt versuchen, den Balken zu verstecken, sobald die Seite fertig geladen ist. Ich finde aber irgendwie nicht die Eigenschaft für den aktuellen Fortschritt, um diesen mit dem Maximalen vergleichen zu können.

Habe mir das so vorgestellt, wenn das Ereignis eintritt (Der User schickt eine Anfrage an den Server für eine neue Seite), dann soll der Balken erscheinen, den Fortschritt anzeigen, und dann wieder verschwinden, wobei dieser dann ja wieder zurückgesetzt werden muss.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 24.04.08 10:48 
Zu deinem Fortschritt siehe Hilfe in der MSDN zum WebBrowser.ProgressChanged-Ereignis:
WebBrowserProgressChangedEventArgs.CurrentProgress und WebBrowserProgressChangedEventArgs.MaximumProgress liefern dir die entsprechenden Werte.
Xardas008 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149

Win 7 Professional x64, Ubuntu 10.04, Windows Server 2008 R2
C#, Visual Studio 2008 Pro, Visual Studio 2010 Ultimate, Eclipse (Java)
BeitragVerfasst: Do 24.04.08 18:23 
user profile iconTh69 hat folgendes geschrieben:
Zu deinem Fortschritt siehe Hilfe in der MSDN zum WebBrowser.ProgressChanged-Ereignis:
WebBrowserProgressChangedEventArgs.CurrentProgress und WebBrowserProgressChangedEventArgs.MaximumProgress liefern dir die entsprechenden Werte.


Ok danke dir. War genau das was ich gesucht habe, nur habe ich in den falschen Komponenten (Webbrowser und ProgressBar Steuerelement) gesucht, statt das Eventargument e zu nehmen.
Funktioniert jetzt genau so wie ich das haben wollte.

Wenn ich noch etwas habe, melde ich mich.