Bonjour, j'ai réalisé un petit programme simple pour mieux visualiser mon problème. J'ai une application qui contient 3 formulaires. Le premier ne sert qu'à ouvrir l'application et à ouvrir un deuxième formulaire. Sur ce deuxième formulaire, j'ai un bouton pour ouvrir un troisième formulaire ainsi qu'un bouton qui sert à afficher un texte dans un label. Sur le troisième formulaire j'ai un bouton qui devrait activer le bouton du deuxième formulaire pour afficher un texte, ceci via un PerformClick(). Voici le code:
Dans cette version, je reçois un message NullReferenceException au niveau du PerformClick(). Si un formulaire est instancier, ses controls ne le sont pas automatiquement ?
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 //Premier formulaire namespace WindowsFormsAppTest { public partial class frmFormulaire1 : Form { public frmFormulaire1() { InitializeComponent(); } private void btnBouton1_Click(object sender, EventArgs e) { frmForm2 noForm2 = new frmForm2(); noForm2.Show(); } private void btnExit_Click(object sender, EventArgs e) { Application.Exit(); } } } //Deuxième formulaire namespace WindowsFormsAppTest { public partial class frmForm2 : Form { public frmForm2 Form2 { get; private set; } public frmForm2() { InitializeComponent(); } private void frmForm2_Load(object sender, EventArgs e) { //btnBouton4.PerformClick(); } private void btnBouton2_Click(object sender, EventArgs e) { frmForm3 noForm3 = new frmForm3(Form2); noForm3.Show(); } private void btnBouton4_Click(object sender, EventArgs e) { lblInfos.Text = "Activation du label"; } } } //Troisième formulaire namespace WindowsFormsAppTest { public partial class frmForm3 : Form { private frmForm2 _frmForm2 = new frmForm2(); public frmForm3() { InitializeComponent(); } public frmForm3(frmForm2 Form2) { InitializeComponent(); //Sauvegarder l'instance de frmForm2 this._frmForm2 = Form2; } private void btnExit_Click(object sender, EventArgs e) { this.Close(); } private void btnBouton3_Click(object sender, EventArgs e) { _frmForm2.btnBouton4.PerformClick(); } } }
Merci pour vos éventuelles réponses.
Partager