Bonsoir,
j'ai un soucis au niveau webbrowser, bon je touche pas trop au csharp (et meme a la programmation) depuis un bon moment donc je rouille, j'ai regarder sur la msdn etc et j'ai pas trouver mon bonheur, voici donc le bout de code qui pose soucis :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
        private void bt_deco_Click(object sender, EventArgs e)
        {
            this.webBrowser.Document.GetElementById("userNavigationLabel").InvokeMember("click");
 
            HtmlElementCollection elements = this.webBrowser.Document.GetElementsByTagName("Form");       
 
            foreach (HtmlElement currentElement in elements)
            {
                currentElement.InvokeMember("submit");
            }
 
        }
je met la solution qui lui fonctionne ci-dessous :

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
 
        private void bt_deco_Click(object sender, EventArgs e)
        {
            this.webBrowser.Document.GetElementById("userNavigationLabel").InvokeMember("click");
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            HtmlElementCollection elements = this.webBrowser.Document.GetElementsByTagName("Form");
 
            foreach (HtmlElement currentElement in elements)
            {
                currentElement.InvokeMember("submit");
            }
        }
le soucis étant que je dois utiliser alors deux bouton, un pour ouvrir le menu avec le bt_deco ensuite une fois le menu ouvert utiliser le button1 pour qu'il click ma form, la ok ca marche, mais si je fais comme dans le premier code donc sur un seul bouton, il commence a ouvrir le menu puis paf il me met page erreur 500 car il a pas trouver la form...

il faudrait grossomodo que la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
            this.webBrowser.Document.GetElementById("userNavigationLabel").InvokeMember("click");
s'excecute, puis que le logiciel attente genre 1 ou 2 seconde que le menu s'affiche puis seulement qu'il execute la suite... j'ai de suite penser au sleep, ca marche pas apparemment... pour ceux qui se pose la question le menu est le deroulant en haut a droite de facebook donc en gros la premiere ligne l'ouvre, le deuxieme chope le bouton de deconnexion, dans quel but ? car je tente de faire un logiciel qui utilise facebook et donc j'ai trouver pour me connecter (meme me deco) mais la pour la deco j'aimerais que ca se fasse en un seul bouton ...

Donc comment faire pour qu'il attente la fin de l'ouverture de ce foutu menu deroulant pour check la form de deconnexion et la cliquer ? car les do event, sleep, boucle pour temporiser et autres methodes a l'arrache fonctionne pas....

a moins que vous n'ayez une solution pour cliquer la bonne form sans devoir toutes les tester ... voici le code de form du bouton deconnexion dans le menu deroulant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<a class="_54nc" role="menuitem" href="#" data-gt='{"ref":"async_menu","logout_menu_click":"menu_logout"}'>
	<span>
		<span class="_54nh">
			<form class="_w0d" id="u_g_8" onsubmit="return window.Event &amp;&amp; Event.__inlineSubmit &amp;&amp; Event.__inlineSubmit(this,event)" action="https://www.facebook.com/logout.php" method="post">
				<input name="fb_dtsg" type="hidden" value="xxxxxxxxxxx" autocomplete="off">
				<input name="ref" type="hidden" value="mb" autocomplete="off">
				<input name="h" type="hidden" value="xxxxxxxxxxx" autocomplete="off">
				</form>
				Déconnexion
		</span>
	</span>
</a>
et oui j'ai essayer de faire l'invoker comme pour la connexion sur l'u_g_8 mais il en veut pas ^^


Ensuite le deuxieme soucis... bon la c'est plus generale, je n'ai jamais utiliser visual studio, et je trouve pas l'option... j'aimerais ensuite pouvoir compiler de maniere autonome mon executable, car oui il se trouve dans le dossier release, mais lorsque je le teste sur une autre machine j'ai des soucis de compatibilité, dll et j'en passe, donc ou est le bouton "creer un exe autonome" et j'ai chercher, j'ai vu qu'il fallait faire une install personnalisé de visual studio pour y inclure clickonce apparemment, ce que j'ai fais, mais ca m'ajoute pas l'option genre creer un exe avec clickonce dans l'ide ou alors j'ai du le louper...

Un grand merci d'avance
Kozengod