2009-11-18 5 views
4

Ceci est une question C#. J'ai un contrôle d'utilisateur A. A contient un autre contrôle d'utilisateur B. B a un événement appelé BEvent. Je souhaite exposer cet événement dans A afin que toute personne utilisant le contrôle A puisse s'abonner à BEvent. Comment puis-je écrire du code pour implémenter ce design? Merci.Evénements délégués

Répondre

7

l'intérieur de votre contrôle utilisateur A, vous pouvez exposer le cas de B comme témoin ce ...

public event EventHandler EventA 
{ 
    add { _control.EventB += value; } 
    remove { _control.EventB -= value; } 
} 

Vous devriez regarder le délégué auquel cas B utilise, et faire en sorte que l'événement A correspond. Dans cet exemple, je viens choisi parce que ce gestionnaire d'événements est assez fréquent lors de l'élaboration des contrôles utilisateur

public delegate void EventHandler(object sender, EventArgs e); 
+0

Je suppose que ce que vous voulez est EventHandler où correspond UnType EventB. –

+0

Taylor L, j'ai mis à jour ma réponse, tout ce dont vous avez besoin est de faire correspondre les délégués –