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 :

Paramètre pour écouteur d'evenement


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 224
    Par défaut Paramètre pour écouteur d'evenement
    Bonjour à tous,
    ma question est la suivante :

    Imaginons un evenement basique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonComboBox.SelectedIndexChanged += new System.EventHandler(methodeAAppeller);
    Je cherche à faire la chose suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void InitListener((type ?) methodeAAppeller, ComboBox MonComboBox)
    {
       MonComboBox.SelectedIndexChanged += new System.EventHandler(methodeAAppeller);
    }
    J'ai largement simplifié le contexte, mon problème est technique. Est-il possible de passer methodeAAppeller en paramètre d'une fonction, si oui comment (quel type ?).

    Merci

  2. #2
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Oui.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void InitListener(System.EventHandler handler, ComboBox MonComboBox)
    {
       MonComboBox.SelectedIndexChanged += handler;
    }
    Un appel de InitListener(taMéthode, taCombo) suffit car le compilo convertir automatiquement une méthode en un delegate (si elle a la bonne signature bien sûr).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 224
    Par défaut
    Merci,
    mais j'ai une erreur à la compile :
    Impossible de convertir de 'groupe de méthode' en 'System.EventHandler'

    Tu es sur que la signature de la méthode avec System.EventHandler handler permet de passer directement "maMethode" et non explicitement un objet de type EvenHandler ?

  4. #4
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public void InitListener(System.EventHandler handler, ComboBox MonComboBox)
    {
    	MonComboBox.SelectedIndexChanged += handler;
    }
     
    private void g(object sender, EventArgs e)
    {
    }
     
    private void f()
    {
    	InitListener(g, new ComboBox());
    }
    ca compile, ça, chez ouam.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 224
    Par défaut
    Merci c'est bon ça marche !

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

Discussions similaires

  1. pb de passage de paramètre pour ActiveX
    Par cedyouyou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/12/2005, 14h30
  2. Réponses: 1
    Dernier message: 26/09/2005, 19h29
  3. paramètres pour une fonction
    Par bul dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/05/2005, 07h49
  4. Réponses: 7
    Dernier message: 10/02/2005, 13h44
  5. Réponses: 3
    Dernier message: 21/05/2003, 11h44

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