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 :

recuperer le nom du bouton qui declenche l'event


Sujet :

Windows Forms

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut recuperer le nom du bouton qui declenche l'event
    Bonjour,
    j'ai une fonction qui gere l'event click du bouton 4:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     private void button4_Click(object sender, EventArgs e)
            {
                try
                {.....
    (rien de tres compliqué.)
    Je déclenche cet meme evenement lors d'un click sur un autre bouton de la sorte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     private void button5_Click(object sender, EventArgs e)
            {....
    button4_Click(sender, e)
    ......
    je souhaiterai recuperer dans la focntion button4_click si c'est button5 qui l'a appelée.
    Merci

  2. #2
    Membre averti Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Points : 341
    Points
    341
    Par défaut
    Salut ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ((Control)sender == tonControl)
    {
      ////
    }

  3. #3
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Bonjour,

    Essaies en castant l'objet sender :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Button tmp = sender as button;
    if(tmp == buton5)
    {
       blablalbla
    }

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    merci de vos reponse, j'ai adopté celle de debug (pas mal comme pseudo)
    Merci

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Par contre, je te déconseille fortmeent d'appeller à la main les méthodes abonnées, en spécifiant soi-même un sender et un EventArgs.

    Il est plus propre et maintenable de créer une autre méthode qui contiendra ton code :
    ai une fonction qui gere l'event click du bouton 4:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private void TaFonction()
    {
      try { .... }
    }
    private void button4_Click(object sender, EventArgs e)
    {
      TaFonction();
    }
     
    private void button5_Click(object sender, EventArgs e)
    {
     ...
      TaFonction();
    }
    Mais comme tu dis
    je souhaiterai recuperer dans la focntion button4_click si c'est button5 qui l'a appelée.
    il te faudrait juste rajouter un paramètre booléen à TaMethode, que tu mets à true dans button5_click, comme ça dans TaMethode tu pourras avoir deux traitements différents selon que c'est button4 ou button5 qui a été cliqué.


    En résumé : éviter, quand on a abonné une méthode machintruc(object sender, EventArgs e) à un event d'un objet graphique, d'appeler cette méthode à la main ailleurs.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    tu as tout a fait raison c'est qu'ne fait j'ai ajouté une nouvelle fonctionnalité a mon appli qui utilise cette fonction.
    je vais donc faire ce que tu m'as conseillé.
    Merci

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

Discussions similaires

  1. [XL-2003] Nom de boutons qui change quand je copie une feuille Excel.
    Par Nicoyong dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/04/2015, 15h35
  2. Réponses: 4
    Dernier message: 20/06/2014, 17h07
  3. Réponses: 4
    Dernier message: 03/02/2006, 18h02
  4. Réponses: 4
    Dernier message: 03/01/2006, 13h44
  5. Recuperer le nom de l'appli qui a le focus
    Par vinyl74 dans le forum C++
    Réponses: 6
    Dernier message: 13/12/2005, 19h23

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