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 :

Une seule methode pour plusieur evenement


Sujet :

C#

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Une seule methode pour plusieur evenement
    Bonjour tout le monde,

    Voilà mon problème, j'ai par exemple une calculatrice super simple.
    j'ai 3 bouton, le premier addition 1, le second 2, le troisieme 3.

    Donc pour chacun des bouton, j'appelle une methode Add(1) pour le bouton 1, Add(2) pour le bouton 2 et Add(3) pour le bouton 3.

    mais a chaque fois je dois creer la methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    monBoutonX_Click(object sender, EventArgs e)
    {
          Add(X)
    }
    du coup j'ai pratiquement 3 fois la meme chose dans mon code.

    J'aimerais donc que chaque bouton appelle directement la methode Add(). Mais comment je fais pour dire a tel ou tel bouton combien il doit passer en parametre?


    Merci d'avance

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 41
    Points : 59
    Points
    59
    Par défaut
    Bonjour.

    Lorsque l'évènement est déclenché, le paramètre sender contiendra la référence du bouton qui a été cliqué. Tu peux ainsi faire la différence et savoir quel paramètre tu devra passer.
    Tu peux ainsi créer une seule méthode que tu affectera à chaque évènement click de tes boutons.

    En espérant que cela peut t'aider.

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    et si tu veux que le "bouton" fournisse une information propre à lui, tu peux faire un peu plus joli que tester si le bouton est le bouton 1, ou 2, ou 3...

    L'idée, tu mets dans la propriété "Tag" de tes boutons, l'information à exploiter et dans le delegué de gestion "Add", tu vérifies que le Sender est de type Button et ensuite, tu recupères la propriété Tag que tu "castes" dans le type approprié pour faire tes traitements...

    En espérant avoir été clair...


    La technique de la propriété Tag est beaucoup plus souple que de tester si le bouton est le bouton X ou Y car si tu rajoutes un nouveau bouton, tu n'auras pas à modifier ton code par rapport à l'ajout de ce bouton et par rapport au traitement lors d'un appui...

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Yes!
    Merci à vous, ça m'aide à fond!

    A+

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Encore une fois merci, et je suis sur que d'autres se pose aussi la question, je poste ici comment utiliser le tag histoire que de fournir une réponse complète pour les suivants.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private void btnAdd_Click(object sender, EventArgs e)
            {
                object tag = ((Button)sender).Tag;
     
                Add(Convert.ToInt32(tag);
     
            }

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Hello tout le monde,

    Désolé de vous embêtez, mais je vais en rajouter une (ou plusieurs) couche:
    1. Est-ce qu'il est possible de connaitre la valeur du Tag du groupBox qui contient le bouton?
    2. Est-il ensuite possible d'aller lire ou ecrire dans une textbox contenue dans le groupBox en question?

    sachant que j'ai 3 groupBox qui font presque la même chose, je ne veux toujours qu'une seule méthode.

    D'avance merci!

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

Discussions similaires

  1. Une seule CSS pour plusieurs portlets
    Par sheepolata dans le forum Portails
    Réponses: 3
    Dernier message: 02/03/2010, 16h51
  2. [Joomla!] Une seule bdd pour plusieurs sites
    Par Imp rusg dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 23/02/2009, 09h16
  3. Réponses: 2
    Dernier message: 10/07/2007, 13h45
  4. Réponses: 7
    Dernier message: 01/02/2006, 15h49
  5. [C#] Une seule méthode pour plusieurs composants
    Par niPrM dans le forum Windows Forms
    Réponses: 8
    Dernier message: 01/06/2004, 14h41

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