Réponse acceptée !
Bonsoir,
ayant eu ce genre de problèmes quand je suis passé de VB6 à C#, je vais développer un peu la réponse de NHenry.
L'utilisation de variables globales est déconseillée en C#, et donc les form n'en sont pas.
Une solution est effectivement de passer la référence de la form A en paramètre à la form B.
La méthode de NHenry est d'écrire une méthode ShowPerso avec FormA en paramètre dans laquelle tu affectes la référence à une variable locale à FormA:
Code C# :
//dans formB
FormA maFormA;
...
public void ShowPerso(FormA A)
{
maFormA = A;
this.Show();
}
....
//Dans formA
FormB B = new FormB;
B.ShowPerso(this);
Une deuxième méthode est de modifier le constructeur de FormB pour y passer le paramètre.
Code C# :
//dans formB
FormA maFormA;
...
public FormB(FormA A)
{
maFormA = A;
}
//dans FormA
FormB B = new FormB(this);
B.Show();
Whismeril