Bonjour, problème de compréhension ...

Je suis sur une appli avec un formulaire MDI. A partir d'un formulaire fille, je veux en appeler un autre et masquer le premier, pas de problème.

Mais a partir du second, lors de la fermeture, je veux revenir au premier formulaire ... ce qui nécessite de connaitre le formulaire appelant !

pour contourner le problème, dans le formulaire appelé, j'ai mis ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    Private mon_form_appelant As System.Windows.Forms.Form
 
    Public Property form_appelant() As System.Windows.Forms.Form
        Get
            form_appelant = mon_form_appelant
        End Get
        Set(ByVal Formulaire As System.Windows.Forms.Form)
            mon_form_appelant = Formulaire
        End Set
    End Property
 
 
    Private Sub bp_retour_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bp_retour.Click
        ' là, il faudrait que je raffiche le formulaire appelant, mais comment ?
        form_appelant.Show()
 
        Me.Close()
    End Sub
et lors de l'appel a paritr du formulaire appelant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
        Dim Ma_Fille_Mdi_visu As New Ecran_Visualisation
 
        Ma_Fille_Mdi_visu.MdiParent = MDIParent1
        Ma_Fille_Mdi_visu.form_appelant = Me
        Ma_Fille_Mdi_visu.Show()
        Me.Hide()
et ça marche ...

mais pourquoi sachant que dans la propriété SET le formulaire est passé en Byval ?

perso, j'aurais plutôt Byref ...