Ouvrir deux formulaires et exécuter une méthode sur form1 à partir de form2

J’ai un programme que j’utilise pour gérer une firebase database. Le contenu de ma table de firebase database est affiché dans une listview sur form1. J’utilise form2 pour éditer la firebase database.
Lorsque form2 est ouvert, form1 est toujours visible.

Cependant, lorsque formulaire2 est fermé, après la mise à jour de la firebase database, je souhaite que formulaire1 actualise sa listview pour afficher les informations récemment mises à jour.

J’ai une méthode qui actualise la form1 sur form1 . Comment puis-je l’exécuter à partir de form2 ?

J’ai défini la méthode sur public, mais je ne peux toujours pas y accéder à partir de form2 .

Si je comprends bien le problème, un moyen serait d’enregistrer un événement lorsque vous créez Form2 :

 var form2 = new Form2(); form2.Closed += (sender, args) => this.RefreshListView(); 

L’événement Form.Closed sera déclenché à la fermeture de form2. L’un des avantages de cette opération avec les événements est que Form2 n’a pas besoin de savoir quoi que ce soit sur le couplage par code réducteur de Form1 .

Passez une instance de form1 au constructeur de form2:

 Form2 form2 = new Form2(this); 

Dans le constructeur de form2, stockez la référence à l’object form1 en tant que variable membre.

Ensuite, à partir de la partie pertinente de form2, appelez simplement la méthode sur form1:

 form1.RefreshListView();