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 :

[VB.NET] enlever un evenement sur une checkbox


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 159
    Points : 88
    Points
    88
    Par défaut [VB.NET] enlever un evenement sur une checkbox
    Bonjour,

    Je cherche a vider une checkbox de tt ses evenements ou au moins de son evement "click" je cherche en vain sur internet partout on parle de comment les ajouter mais pour les enlever c est plus compliqué

    j ai bien vu removehandler mais il faut donner un parametre supplementaire le nom de la procedure qui gere l evenement or je ne veus pas la fournir car elle varie je veus donc enlever tt les evenements est ce possible? Sinon je vais garder une trace du derniere event rattaché a la checkbox afin de l effacer par la suite mais c est un peu lourd

  2. #2
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Excelente question !!!

    Je cherche depuis tout à l'heure, j'ai trouvé quelques pistes en utilisant la reflection biensure mais rien de concluant .

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 159
    Points : 88
    Points
    88
    Par défaut
    bon je voulais savoir si c était possible de tt evidence non je vais donc stocker le nom des dernieres procedures ajouter au checkbox et les enlever avec remove handler

    Merci d avoir fait des recherches pour moi

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 159
    Points : 88
    Points
    88
    Par défaut
    Bon je vais mettre le nom des procedures a enlever dans un tableau vu que mes checkbox sont dans un tableau aussi

    Pour ajouter je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AddHandler CheckBox_qci(i).CheckedChanged, AddressOf Enable_checkbox
    Pour enlever comment je peus faire si le nom de ma procedure "Enable_checkbox" est dans un tableau sous forme d'un string

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RemoveHandler CheckBox_qci(i).CheckedChanged, ???
    Merci

  5. #5
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Tu peux stoquer le handler dans ton tableau, Execuse moi mon VB.Net mais en gros c'est ca :

    Ta List de Delegates:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private MesDelegates As New List(Of EventHandler)
    Tu ajouter ton delegate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AddHandler CheckBox1.CheckedChanged, AddressOf Enable_checkbox
            MesDelegates.Add(AddressOf Enable_checkbox)
    Pour supprimer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     RemoveHandler CheckBox1.CheckedChanged, MesDelegates(0) 
    'tu fais une boucle biensure au lieu du 0

  6. #6
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    En fait je crois qu'il n'est pas possible de le faire avec la reflection, donc tu n'as pas le choix il faut bien stoquer la liste des delegates dans un tableau

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 159
    Points : 88
    Points
    88
    Par défaut
    Ok super sympa pour le coup de main merci je vais tester ca j apprends pleins de trucs en plus je vais voir ce que c est que ces delegates

    Thx A++

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

Discussions similaires

  1. [FLASH MX2004] Evenement sur une image...
    Par JulPoWeR dans le forum Flash
    Réponses: 9
    Dernier message: 14/06/2007, 11h17
  2. evenement sur une zone jTextfieled.
    Par Essefi_K dans le forum JBuilder
    Réponses: 1
    Dernier message: 24/03/2006, 10h09
  3. [Stratégie] attendre un évenement sur une saisie clavier?
    Par ukanoldai dans le forum Général Java
    Réponses: 4
    Dernier message: 28/02/2006, 17h05
  4. Readonly sur une checkbox
    Par Oluha dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 14/02/2005, 11h09

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