Interaction entre 2 UserControl par event
Bonjour,
Ma question est à priori simple mais je ne trouve pas encore la solution qui règle mon problème..:roll:
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:
Code:
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 le code de ce même UC1: je fais
Code:
1 2 3 4 5
|
if (Modified!= null)
{
Modified(this, new SampleEventArgs("NewLoad"));
} |
dans l'évenement de supression ou creation d'un élement.
et puis dans le constructeur de User control parent (de UC1 et UC2) je fais:
Code:
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();
} |
et dans le UC2 j'ai ma fonction à executer pour mettre à jours les élements:
Code:
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...