Bonjour,
Je suis assez nouveau en C# et WinForms, et je viens d'un bon moment en Java. Voilà pour la présentation succinte
Pour le problème, le voici. Je cherche à connecter un composant WebBrowser et un composant ProgressBar, pour afficher l'avancement du chargement de la page. Ces deux composants sont dans le même composant parent, et donc, tournent dans le même thread.
J'ai trouvé pas mal de code concernant les problèmes de rafraichissement d'interface, notamment avec BeginInvoke, ou les BackgroundWorker. Seulement, j'ai l'impression que ça s'applique à un traitement sur des données par exemple, et on souhait afficher un avancement de ces traitements.
Je n'ai pas trouvé, en testant et en cherchant, de solution au problème de connexion directe entre les deux composants. Je n'ai pas de contrôle sur l'exécution du chargement de la page, ou alors je n'ai pas trouvé comment.
Quelqu'un saurait me dire s'il est possible, simplement, de connecter ces deux composants ?
Voici la portion de code concernant la connexion des deux composants :
ProgressChanged est bien appelé lors du chargement de la page, mais la progressBar ne se met pas à jour. Elle fait tout ce qui lui a été demandé à la fin du chargement de la page.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 private void webBrowser_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e) { int value = Convert.ToInt32(100 * (e.CurrentProgress / e.MaximumProgress)); webBrowserProgressBar.Value = value; } private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { webBrowserProgressBar.Visible = false; webBrowserProgressBar.Value = 0; } private void webBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e) { webBrowserProgressBar.Visible = true; }
Merci pour toute aide
Partager