J'ai une simple application C # qui contient des boutons et un navigateur Web, chaque bouton exécuter une requête et affiche le résultat de la demande sur le navigateur web. Et j'utilise les résultats d'une requête sur le bouton suivant.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Navigate("http://www.test.com");
}
private void button2_Click(object sender, EventArgs e)
{
if (webBrowser1.Document.GetElementById("tesxtbox1") != null)
{
HtmlElement txt1 = webBrowser1.Document.GetElementById("tesxtbox1");
txt1.SetAttribute("value", "test");
webBrowser1.Document.Forms[0].InvokeMember("submit");
}
} |
ma question est de trouver une méthode ou un moyen d'executer les deux boutons en clic seulement sur le premier bouton , et le deuxième bouton ne s'exécuter jusqu'à le chargement complet du navigateur Web .
dans ma première solution, j'ai ajouté dans la methode bouton1_Click:
webBrowser1.DocumentCompleted + = new WebBrowserDocumentCompletedEventHandler (Button2_Click);
mais le second bouton s'excute plusieurs fois, alors j'ai ajouté dans la methode bouton2_Click :
1 2
|
webBrowser1.DocumentCompleted - = new WebBrowserDocumentCompletedEventHandler (Button2_Click); |
il fonctionne, mais dans la console je trouve que le bouton 2 est exécuté 2 fois ou plus
Merci d'avance!
Partager