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

VB.NET Discussion :

Problème Sub event


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 181
    Par défaut Problème Sub event
    Bonjour à tous,

    est-ce que quelqu'un aurait une explication sur ce comportement
    qui par ailleurs est peut-être normal mais que je trouve surprenant :

    J'ai démarré un nouveau projet Visual Studio VB 2010.

    Sur la Form1 j'ai ajouté une Textbox nommée TextBox1.
    J'ai double-cliqué sur la Textbox et VB m'a crée la Sub :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs)
    Jusque la ça me semble normal.

    J'ai ensuite ajouté sur Form1 un controle GroupBox nommé "GroupBox1".
    Et j'ai "déplacé" TextBox1 dans GroupBox1.
    J'ai double-cliqué sur la Textbox et VB m'a crée une 2ème Sub :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub TextBox1_TextChanged_1(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
    Est-ce que c'est normal ?

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 251
    Par défaut
    Tu as "déplacé" la textbox.

    Si tu as fait du drag/drop, le phénomène est étrange, effectivement.

    Par contre, si tu as "déplacé" en faisant un couper/coller le phénomène s'explique. Et c'est que suggère tes bouts de code.

    En VB.Net, lorsque tu crée un gestionnaire d'évènement en double cliquant sur un contrôle, la méthode qui va bien est créée automatiquement en ajoutant à la fin Handles NomControle.NomEvent, ce qui traduit l'abonnement à l'évènement.

    Par contre, si tu supprime le contrôle, les abonnements aux évènements de ce contrôle sont tous supprimés du code, mais pas les méthodes elles-mêmes.

    Si tu déplace ton contrôle en faisant un couper/coller, couper signifie supprimer le contrôle, avant de le recréer au nouvel endroit. Et à la suppression, les abonnements sont aussi supprimés. C'est la raison pour laquelle, sur ta première méthode, tu n'as plus la partie Handles ....Et lorsque tu re-double-clique sur le contrôle, comme aucune méthode n'est trouvée pour l'évènement en question, une nouvelle est créée.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 181
    Par défaut
    Merci sevyc64 pour la réponse

    de mon coté voici ce que j'ai trouvé en farfouillant sur le Net, mais il a fallu chercher.
    Apparemment quand on cut/paste un contrôle, seuls les propriétés sont copiés.
    Donc une fois collé, il faut resélectionner les events dans les listes déroulantes
    des propriétés du contrôle. Car celles-ci existent toujours mais ne sont plus liés
    à celui-ci.
    Parce que si on double-click aussitôt après le paste, vb recrée une Sub :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub TextBox1_TextChanged_1(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
    suffixé de "_x" ou "x" s'incrémente à chaque paste, parce que l'ancienne Sub existe toujours.

    J'ai bon ?

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 251
    Par défaut
    oui, c'est exactement ce que j'ai expliqué .

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

Discussions similaires

  1. [JCombobox] problème d'event
    Par isoman dans le forum Composants
    Réponses: 9
    Dernier message: 21/06/2009, 01h30
  2. problème d'event sous X11/Motif
    Par awalter1 dans le forum Linux
    Réponses: 7
    Dernier message: 08/07/2008, 18h44
  3. Problème d'event et d'imageContent
    Par greatalain dans le forum Flex
    Réponses: 0
    Dernier message: 03/07/2008, 11h42
  4. [JTable] problème sélection / event
    Par Méta dans le forum Composants
    Réponses: 10
    Dernier message: 26/09/2007, 22h08
  5. Problème avec event handler
    Par MASSAKA dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/11/2005, 09h31

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