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#] BroadCast d'événements


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de papouAlain
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 127
    Par défaut [C#] BroadCast d'événements
    Je voudrais depuis une instance d'une classe générique emettre un événement et que toutes les instances de cette classe puissent traiter l'événement.
    J'ai donc écrit :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    public class Class1
    {
    public delegate void myHandler (object sender, EventArgs e);
    public event myHandler MyEvent;
     
    public Class1 ()
    {
    }
     
    ...
    MyEvent (this, e);
    }
     
    public class Class2 : Class1
    {
    public new delegate void myHandler (object sender, EventArgs e);
     
    public Class2 ()
    {
    this.MyEvent += new myHandler (OnMyEvent);
    }
    public void OnMyEvent(object sender,  EventArgs e)
    {
    }
    }
    public class Class3 : Class1
    {
    public new delegate void myHandler (object sender, EventArgs e);
     
    public Class3 ()
    {
    this.MyEvent += new myHandler (OnMyEvent);
    }
    public void OnMyEvent(object sender,  EventArgs e)
    {
    }
    }
    Pas de Bol, ca ne fonctionne pas !
    à l'appel de MyEvent j'obtiens :
    System.NullReferenceException
    Est-ce que quelqu'un sait comment on fait pour envoyer proprement des événements en BroadCast. C'est pas comme ça ?
    où alors est-ce impossible depuis une classe de base quand les événement seront traités dans les instances de classes hérités ?

  2. #2
    Membre confirmé Avatar de papouAlain
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 127
    Par défaut
    [Up!]
    Ma question motive pas ?

    à titre d'info. Si je rajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public void OnMyEvent(object sender,  EventArgs e) 
    { 
    }
    dans ma Class1, que dans le constructeur de Class1, je rajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.MyEvent += new MyEvent (OnMyEvent);
    et que j'Override les OnMyEvent dans les classes qui héritent alors je n'ai plus l'erreur. Mais c'est Class1 qui consomme l'événement et il n'est jamais traité par Class2 et Class3 ???

    Je dois avoir les yeux dans les chaussettes ce matin : : :

  3. #3
    Membre éclairé
    Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2002
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juillet 2002
    Messages : 88
    Par défaut
    La proposition de Maniak (ici)
    ne te convient pas?

  4. #4
    Membre confirmé Avatar de papouAlain
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 127
    Par défaut
    Désolé, j'avais zappé sur sa réponse...
    merci de me réveiller. Je vais essayer

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pas d'événement OnClose quand on arrête W2K
    Par Altau dans le forum C++Builder
    Réponses: 9
    Dernier message: 26/01/2009, 18h36
  2. Broadcast d'un évènement?
    Par WinNew dans le forum Flex
    Réponses: 3
    Dernier message: 11/12/2008, 10h46
  3. exploiter un évènement d'un sous composant dans un
    Par bjl dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/12/2002, 16h44
  4. Modification de l'évènement OnClick
    Par MrJéjé dans le forum C++Builder
    Réponses: 9
    Dernier message: 22/08/2002, 12h52
  5. Redéfinir l'événement OnExit de mon composant TEditFloat
    Par Seb des Monts dans le forum C++Builder
    Réponses: 5
    Dernier message: 18/06/2002, 16h10

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