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:
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 le code de ce même UC1: je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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();
        }
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
 
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...