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();