IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#] Propagation d'evenement entre differents controls


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 53
    Points : 37
    Points
    37
    Par défaut [C#] Propagation d'evenement entre differents controls
    J'ai une classe ItemsController qui possède un delegate et un evenement :
    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));
                }
            }
    }
    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
    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
    Merci à vous pour vos futur réponse

  2. #2
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    77
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 77
    Points : 92
    Points
    92
    Par défaut
    Bonjour,
    je ne suis pas sûre d'avoir bien compris le problème.
    Si l'autre contrôle (informationPanel) et situé dans la classe Controller, tu peux agir sur ton informationPanel directement dans ta fonction ll_essaie.
    Si en revanche il est dans une autre classe, tu dois passer par les liens entre les classes présentes ici. Si la classe est liée à l'émettrice du message, tu peux à nouveau intercepter l'événement ici. Si elle est liée à la classe qui intercepte le message, tu peux créer une fonction qui fera le traitement voulu et sera appelée par la classe qui a intercepté l'événement.
    Sans connaître les liens entre tes classes, difficile d'en dire plus je pense.

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/06/2009, 20h45
  2. Réponses: 5
    Dernier message: 24/03/2006, 15h38
  3. [VB.NET]evenement sur un controle ajouté par code
    Par Golzinne dans le forum Windows Forms
    Réponses: 14
    Dernier message: 01/03/2006, 23h37
  4. [classpath] conflit entre different .jar
    Par Bobo59 dans le forum Général Java
    Réponses: 7
    Dernier message: 09/01/2006, 19h34
  5. Réponses: 6
    Dernier message: 18/04/2005, 22h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo