backgroundworker et navigate
Bonjour à tous !!
Voila je travaille avec un webbrowser pour naviguer sur internet.
Le problème c'est que mon WebBrowser bloque mon application lorsque je clique sur un lien ou que je fais une recherche sur google jusqu'a ce qu'il est affiché la page.
Je pense donc que je dois travailler avec un backgroundWorker pour lancer le navigate dedans, mais je ne sais pas trop comment je dois m'y prendre... :( Si quelqu'un pouvait m'aider ce serait sympa.
Je ne sais pas quand je dois lancer ma requête en fait.
Je voulais utiliser la méthode :
Code:
1 2
|
bw_async.RunWorkerAsync(s_url); |
et dans le DoWork:
Code:
1 2
|
wb_navigateur.Navigate(e.Argument.ToString()); |
Mais je ne sais pas sur quel événement je dois appeler la méthode RunWorkerAsync...
pour le moment j'ai :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
private void wb_navigateur_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
etat_progress.Value = 0;
wb_navigateur.Visible = false;
pict_AnimChargement.Visible = true;
bw_async.RunWorkerAsync(e.Url);
}
private void bw_async_DoWork(object sender, DoWorkEventArgs e)
{
wb_navigateur.Navigate(e.Argument.ToString());
}
private void wb_navigateur_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
pict_AnimChargement.Visible = false;
wb_navigateur.Visible = true;
menu_txtAdresse.Text = wb_navigateur.Url.ToString();
Text = wb_navigateur.Document.Title;
} |
Merci d'avance pour votre aide.