[C#] Propagation d'evenement entre differents controls
J'ai une classe ItemsController qui possède un delegate et un evenement :
Code:
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));
}
}
} |
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:
1 2 3 4 5 6
| ll.essaie += new ItemController.ControllerEventHandler(ll_essaie);
void ll_essaie(object sender, ControllerEventArgs a)
{
MessageBox.Show(a.TitlePage);
} |
Tout fonctionne parfaitement.
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 :x
Merci à vous pour vos futur réponse ;)