J'ai une classe ItemsController qui possède un delegate et un evenement :
Je possède une autre class "Controller" qui possède une serie d'itemsController, dedans je catch le click pour m'abonner à mon evenement (ll est un itemsController):
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 public class ItemController : ImageButton { // Déclaration d'un délégué et d'un evenement public delegate void ControllerEventHandler(object sender, ControllerEventArgs a); public event ControllerEventHandler essaie; private string itemAction; public string ItemAction { get { return itemAction; } set { itemAction = value; } } public ItemController() { this.Click += new EventHandler(ItemController_Click); } void ItemController_Click(object sender, EventArgs e) { if(essaie != null) { essaie(this, new ControllerEventArgs(itemAction)); } } }
Tout fonctionne parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ll.essaie += new ItemController.ControllerEventHandler(ll_essaie); void ll_essaie(object sender, ControllerEventArgs a) { MessageBox.Show(a.TitlePage); }
Voila la suite ou cela se complique (pour moi).
Je voudrais en quelque sorte proprage cet evenement à un autre control : InformationPanel.
En faite je voudrais que ce control soit lui aussi informer du click sur l'itemController afin d'effectuer des opérations diverse mais je ne vois pas comment faire.
---------- --------------
Controller -> Compose de ItemController -> Click : Déclenche l'evenement dans ItemController
---------- --------------
-> Click : Informe aussi InformationPanel du click ???
Edit : j'oublie d'être poli
Merci à vous pour vos futur réponse
Partager