Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 19 juil. 2007 à 14:13
Si tu veux que ce soit fait "automatiquement" (c'est a dire sans demander a l'utilisateur de cliquer sur un bouton "refresh"), il faut que tu mette une fonction publique dans Form1 qui fera l'appel à config.OpenLoadMaConfig(). Ensuite il faut que tu donne a Form2 une référence vers Form1, de sorte que tu puisse faire : myForm1.MyPublicMethod();
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200813 19 juil. 2007 à 14:37
La méthode que tu vas executer se trouve dans ta form1, donc il faut que form2 est une référence (un lien) vers form1 (attention, form1 c'est "l'instance" qui est executée, ce n'est pas la classe Form1).
Pour cela, tout dépend de la facon dont tu gère tes forms :
Si ta form1 est la form principale, et que form2 est créée par form1, alors tu peux faire comme cela :
- Dans la classe Form2, rajoute un constructeur qui prend en paramètre une Form et stock ce paramètre pour pouvoir le réutiliser:
// Dans Form2
private Form form1;
public Form2(Form form)
{
// On sauvegarde le lien vers form1
this.form1 = form;
}
Ensuite dans Form1, au moment où tu crée Form2, remplace l'ancien constructeur par celui que tu viens de rajouter :
// Creation de Form2
Form2 form2 = new Form2(this); // On créé form2 et on lui donne une référence vers Form1 (=this)
Une fois que tu as fait ca, dans form2 tu peux faire a tout moment :