Bonjour,
Ma question est à priori simple mais je ne trouve pas encore la solution qui règle mon problème..
j'ai inclut dans un UserControl 2 usercontrols cote à cote (séparé par un splitcontener), je souhaiterais interagir entre ces 2 UC:
en gros quand je fais une modification dans UC1 (suppression,création.. d'un élément d'une liste), je veux que mes combox qui se trouve dans UC2 se mette à jour.
Pour cela, j'ai commencer à faire la chose suivante:
Dans le UC1 j'ai créer un event comme suit:
Dans le code de ce même UC1: je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public delegate void EventHandler(object sender, SampleEventArgs e); public event EventHandler Modified; public class SampleEventArgs { public SampleEventArgs(string s) { Text = s; } public String Text { get; private set; } // readonly }
dans l'évenement de supression ou creation d'un élement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (Modified!= null) { Modified(this, new SampleEventArgs("NewLoad")); }
et puis dans le constructeur de User control parent (de UC1 et UC2) je fais:
et dans le UC2 j'ai ma fonction à executer pour mettre à jours les élements:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 UC1.Modified+= new UC1.EventHandler(fonctionAExecuter); puis: private void fonctionAExecuter(object sender, UC1.SampleEventArgs e) { this.UC2.Reload(); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public void Reload() { .....Code de mise à jour }
Mais l'événement envoyé est toujours null.j'ai raté quelque chose certainement..
Merci d'avance de votre aide...
Partager