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 :

Interception de l'évenement Click


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2002
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 230
    Points : 148
    Points
    148
    Par défaut Interception de l'évenement Click
    Bonjour,

    Ayant n labels dans un panel. Qu'elle est la meilleure façon d'intercepter l'événement OnClick du panel et des n labels sachant que le traitement est le même.
    En fait, j'ai un traitement à faire lors du clique sur le panel ou tout autre objet appartenant à cet objet.

    La façon la plus simple mais à mon avis la plus lourde serait la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    this.Click += new HandleEvent(monTraitement);
    this.label1.Click += new HandleEvent(monTraitement);
    this.label2.Click += new HandleEvent(monTraitement);
    ...
    this.labeln.Click += new HandleEvent(monTraitement);
    Y a t il une autre solution plus élégante ?

    Merci
    L'union fait la force.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Hum, si tu mets juste un event sur le Panel, ça ne fonctionne pas (peut-être qu'il faut utiliser une GroupBox pour ça ... sans cadre) ?

    Sinon tu peux utiliser la super astuce de mettre un Panel transparent au-dessus de ton Panel et t'abonner à son Click.

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    passer en wpf ou les évènements sont routés ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par Kaidan Voir le message
    Hum, si tu mets juste un event sur le Panel, ça ne fonctionne pas (peut-être qu'il faut utiliser une GroupBox pour ça ... sans cadre) ?
    Pas plus avec un panel qu'avec un groupbox (dans les deux ce sont des containers et ils se comportent de la même manière : l'event click n'est raised que si le click a lieu sur la surface "libre" du container)

    Sinon tu peux utiliser la super astuce de mettre un Panel transparent au-dessus de ton Panel et t'abonner à son Click.
    Je ne pense pas que cela change quelque chose.

    AMHA, la solution la plus simple est de parcourir les controles de son pannel et de les cabler dynamiquement dans une boucle

    Dans le genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach(Control control in myPanel.Controls)
    {
     control.Click += new EventHandler(myEventHandler);
    }

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2002
    Messages
    230
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 230
    Points : 148
    Points
    148
    Par défaut
    Merci Bluedeep, c'est ce qui me semblait bon de faire.
    Tu me confirmes que c'est a priori la solution la plus correcte.
    L'union fait la force.

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

Discussions similaires

  1. Simuler évenement click
    Par sisiniya dans le forum jQuery
    Réponses: 9
    Dernier message: 08/09/2013, 22h13
  2. [Dojo] Interception de l'évenement Dnd sur une enhancedGrid
    Par Choubaka35 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 26/07/2011, 14h54
  3. Intercepter | Désactiver | remplacer le click gauche sur liens <a>
    Par sora570 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/05/2010, 19h08
  4. Comment créer un évenement click sur label
    Par mdordenart dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 23/10/2009, 14h33
  5. Probleme d'évenement click ToolStripMenuItem
    Par Dahos dans le forum Windows Forms
    Réponses: 6
    Dernier message: 08/05/2007, 21h17

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