Actualiser une Form à la fermeture d'une autre [Résolu]

Signaler
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014
-
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014
-
Bonjour,

J'ai une Form avec des infos que je récupère depuis ma BDD. Je suis en VB.NET.
Cependant, je peux cliquer sur un bouton qui va m'ouvrir une nouvelle Form pour ajouter des infos. Je voudrais que lorsque je ferme la deuxième form, la première s'actualise afin d'avoir les infos.

Quelqu'un aurait il une solution ?

Cordialement

8 réponses

Messages postés
7359
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
29 avril 2021
122
Bonjour,

C'est simple tu le mets dans l'évenement FormClosing de ton Form comme ceci:

Private Sub Form2_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
'ici le code pour réactualiser ton Form1
    End Sub



Le Pivert
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Pour préciser un peut ma réponse :
Quand tu ouvre ton form2 tu ajoute dans ton form1 un événement sur form2 (ensuite a toi de décider quel événement utiliser, Disposed n'est pas forcément le meilleur choix car il n'est appeler que quand ton form est retirer totalement de la mémoire, ce qui n'est pas le cas quand tu ferme un form, désoler grosse fatigue hier)
FormClosed est, je pense, le bonne événement
Le code dans ton form1 :
    Private MyForm2 As Form

    Private Sub OuvreForm2()
        MyForm2 = New Form2
        MyForm2.Show()
        AddHandler MyForm2.FormClosed, AddressOf MyForm2_FormClosed
    End Sub

    Private Sub MyForm2_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs)
        MajForm1()
        RemoveHandler MyForm2.FormClosed, AddressOf MyForm2_FormClosed 'Pour être plus propre mais je ne sait pas si l’intérêt est réel ^^
    End Sub

    Private Sub MajForm1()
        [...]
    End Sub


Voila avec ça tu devrais t'en tirer facilement

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Tu ajoute un événement sur ton 1er form :

Quand tu appel le second form tu fait :
AddHandler Form2.Disposed, AddressOf Form2_Disposed

Évidement il faut crée la fonction Form2_Disposed :
Private Sub Form2_Disposed(ByVal sender As Object, ByVal e As System.EventArgs)
        [...]
    End Sub


Rien de plus (tu peut aussi utiliser d'autre événements que Disposed ;) )

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014

Merci pour ta réponse mais cela ne fonctionne pas, ou plutôt devrais je dire : Je n'arrive pas a l'utiliser. En effet je ne vois pas à quoi ça sert.

Car je souhaite que lorsque l'utilisateur clique sur la croix rouge pour fermer la form2, la form1 se mette à jour. Donc je pensais que c’était en rapport avec des évènements.

Peux tu m'éclairer un peu plus sur ta solution car même avec le MSDN, je ne pige pas le principe...

Cordialement
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Oui la solution de "Le Pivert" est plus simple mais te force a appeler la mise a jour de Form1 depuis Form2.

Je pense que les deux solutions sont valable ^^

Avec ma solution, attention si tu peut ouvrir plusieurs instance de Form2 depuis le même Form1. Tu pourrais avoir (tu auras) des mauvaises surprises. Utiliser une collection de Form2 peut être une solution a ce nouveau problème

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Pufffffffffff décidément ma dyslexie me joue des tours
Dans la 1ere phrase de ma vidéo, j'ai inverser l'ordre de sélection
Bon on y voie quand même mon problème (mais ras le bol de me louper maintenant )

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019

Oups mauvais sujet (comme je le disais RAS LE BOL DE ME LOUPER BESOIN DE VACANCES) ne pas prendre en compte mon message précédant

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
Messages postés
286
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
16 mai 2014

Merci à vous deux pour vos réponses

Pas grave Polack