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:
dans Form2, j'ai également une fonction
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
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.
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
J'ai d'abord défini une variable de type Form1 dans la méthode btnOk_Click en faisant:
Mais lors je l'éxécution, je récupère une erreur du type
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
Pourtant, je sais que à ce moment là, mon treeview est déjà initialisé.Object reference not set to an instance of an object.
J'ai pensé à un autre truc:
Mais c'est le compilateur me met :
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
.Property access must assign to the property or use its value
Partager