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

C# Discussion :

Se désabonner d'un évènement


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Par défaut Se désabonner d'un évènement
    Bonjour,

    J'aimerais me désabonner des événements du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    pres.SelectionComboUnite.PropertyChanged += new PropertyChangedEventHandler(delegate(object sender, PropertyChangedEventArgs e)
    {
    };
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    pres.SelectionComboUnite.PropertyChanged += delegate
    {
    };
    J'ai parcouru pas mal de posts mais je n'ai aucune solution à mon problème.

  2. #2
    Membre émérite Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    823
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 823
    Par défaut
    Tu as essayé avec -= ???

    pres.SelectionComboUnite.PropertyChanged -= ton delegate

  3. #3
    Membre averti
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Par défaut
    Citation Envoyé par kheironn Voir le message
    Tu as essayé avec -= ???

    pres.SelectionComboUnite.PropertyChanged -= ton delegate
    Salut,

    J'ai essayé ce que tu m'as dis, mais comment savoir que je me suis bien désabonné ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pres.SelectionComboUnite.PropertyChanged -= delegate(object s, PropertyChangedEventArgs ea) { };

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Par défaut
    Bonjour,

    Il n'y a pas vraiment de moyen (à ma connaissance) de le savoir.
    Par contre, pour désabonner un delegate d'un évènement, il faut utiliser le même delegate.

    Si tu utilise une méthode d'objet, il n'y a aucun problème, tu te désabonne comme tu t'abonne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // abonnement
    pres.SelectionComboUnite.PropertyChanged += monObjet.MaMethode;
    // désabonnement
    pres.SelectionComboUnite.PropertyChanged -= monObjet.MaMethode;
    Par contre, si tu utilise un delegate anonyme, tu dois le mettre en cache pour pouvoir le désabonner plus tard.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var monDelegate = delegate(object s, PropertyChangedEventArgs ea) { };
    // abonnement
    pres.SelectionComboUnite.PropertyChanged += monDelegate;
    // désabonnement
    pres.SelectionComboUnite.PropertyChanged -= monDelegate;

  5. #5
    Membre averti
    Inscrit en
    Février 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 45
    Par défaut
    L'utilisation d'une variable (cache) me parait propre.

    Merci à vous deux.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 04/04/2012, 22h10
  2. Comment désabonner un évènement?
    Par takinelinfo dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 11/07/2011, 22h03
  3. Se désabonner d'un événement
    Par laedit dans le forum Framework .NET
    Réponses: 3
    Dernier message: 20/10/2009, 13h53
  4. désabonnement évènement SelectedIndexChanged
    Par UoLad dans le forum Windows Forms
    Réponses: 14
    Dernier message: 04/02/2009, 12h44
  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