Salut à tous,

J'ai un problème de passage de paramètres.
J'ai deux forms: Form1 et Form2.
Dans ma Form1 j'ai un menu, Menu1

Si on clique sur le 1er item de Menu1 (mnuCtx1), la Form2 s'ouvre. Voici un aparçu du code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Private Sub mnuCtx1_Click(ByVal senderMnu As Object, ByVal e As System.EventArgs) Handles mnuCtxChap.Click
 
            Dim frm2 As New Form2
            frm2.MdiParent = Me
            frm2.Show()

    End Sub
dans Form2, j'ai également une fonction

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Public Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click

MessageBox.Show("Paramètre form 1 " + senderMnu.ToString)

end Sub
Mon souci, c'est que j'aimerai réutiliser l'objet qui a déclenché mnuCtx1_Click (senderMnu qui est dans la Form1), dans la méthode de la Form2 btnOk_Click.
J'ai d'abord défini une variable de type Form1 dans la méthode btnOk_Click en faisant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Public Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click
 
dim frm1 as Form1
dim myText as String = frm1.Treeview1 .SelectedNode.Text
MessageBox.Show("Paramètre form 1 " + myText.ToString)
 
end Sub
Mais lors je l'éxécution, je récupère une erreur du type
Object reference not set to an instance of an object.
Pourtant, je sais que à ce moment là, mon treeview est déjà initialisé.


J'ai pensé à un autre truc:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Private Sub mnuCtx1_Click(ByVal senderMnu As Object, ByVal e As System.EventArgs) Handles mnuCtxChap.Click
 
            Dim frm2 As New Form2
            frm2.MdiParent = Me
            frm2.btnOk_Click(senderMnu, e)
            frm2.Show()
 
    End Sub
Mais c'est le compilateur me met :
Property access must assign to the property or use its value
.