Bonjour,
J'ai une statusbar avec des labels, dans une form mdi parent.
Je désire mettre à jour ses labels suivant des actions réalisées dans une form fille.
Comment puis je faire?
cordialement
Bonjour,
J'ai une statusbar avec des labels, dans une form mdi parent.
Je désire mettre à jour ses labels suivant des actions réalisées dans une form fille.
Comment puis je faire?
cordialement
"Nulla Tenaci Invia Est Via"
Aux persévérants aucune route n'est interdite
j'ai un début de solution.
Dans ma form fille :
Par contre mon this.MdiParent est null
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 F_Parent _frmParent; private void F_Activated(object sender, EventArgs e) { if (_frmParent==null ) _frmParent = (@F_Main)this.MdiParent; }
Voila comment je créer ma form child
Qu'est ce qui fait que ma form child a un parent null?
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 private void F_parent_Load(object sender, EventArgs e) { InitialisationForm(); OpenChildForm((Form)fchild); } public void InitialisationForm() { this.IsMdiContainer = true; fChild = new F_Child(); InitialisationFormchild((Form)fChild); } public void InitialisationFormchild(Form f) { if (f != null) { f.Visible = false; f.MdiParent = this; f.Parent = SC_Main.Panel2; f.Dock = DockStyle.Fill; f.StartPosition = FormStartPosition.WindowsDefaultLocation; } } private void OpenChildForm(Form F) { if (ActiveMdiChild != null) {ActiveMdiChild.Visible = false;} ActivateMdiChild(F); Application.DoEvents(); F.Visible = true; }
"Nulla Tenaci Invia Est Via"
Aux persévérants aucune route n'est interdite
Bonjour,
Moi j'utiliserai les évènements. Tu auras un truc du genre :
Dans la Form fille :
Dans une methode de la form fille, tu créé cet évènement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 // delegate declaration public delegate void ChangingHandler (object sender, MyClass ca); // event declaration public event ChangingHandler Change;
et dans la Form parente :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Change(this,ca);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 MyFormFille.Change += new System.EventHandler(this.HandleChanging); private void HandleChanging(object sender, System.EventArgs e) { // mise a jour du label dans la statusBar }
Tox
Bonjour,
Merci de ta réponse. J'ai eu la même idée.
J'ai pris pour exemple ce code.
J'ai ainsi créé ma propre classe EventHandler et passé mes paramètres.
"Nulla Tenaci Invia Est Via"
Aux persévérants aucune route n'est interdite
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager