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 :

Identifier l'évènement d'une textbox dans une collection


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Par défaut Identifier l'évènement d'une textbox dans une collection
    Bonjour, j'ai une collection de 300 textbox dans un frame; je veux intercepter l'évènement de chaque textbox (click ou textchanged); en définissant un tag pour chaque textbox, je les identifie et je lis le contenu dans "sender". Le problème, c'est que dans le "Handles" qui intercepte l'évènement, je dois mettre la liste complète des textbox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub TextBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Click, TextBox2.Click '.......
    Y a t'il un moyen plus élégant et d'éviter la longue liste des 300 textbox dans le "Handles".
    Je vous remercie par avance.
    Cordialement.

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonjour,

    il faut enlever les Handles et boucler sur tous les controles pour leurs lier l’événement via addHandler

    http://msdn.microsoft.com/fr-fr/libr...=vs.80%29.aspx

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    de la même manière tu aurais pu poser les 300 textboxes en 3 lignes de code plutot que de les poser à la main
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    de la même manière tu aurais pu poser les 300 textboxes en 3 lignes de code plutot que de les poser à la main
    Merci, je suis preneur de la méthode, il n'est jamais trop tard pour bien faire! Les créer, pas de problème, mais c'est pour les positionner en juxtaposition...Et en plus, il faut que la première box en haut à gauche soit la première dans la collection.
    Cordialement.

    Citation Envoyé par Sankasssss Voir le message
    Bonjour,

    il faut enlever les Handles et boucler sur tous les controles pour leurs lier l’événement via addHandler

    http://msdn.microsoft.com/fr-fr/libr...=vs.80%29.aspx
    Merci Sankasssss, sans être débutant, je ne suis pas expert, pouvez vous me guider un petit peu, j'ai essayé, mais c'est assez flou pour moi, et je ne trouve pas le bon fonctionnement avec addHandler.
    Cordialement.

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    private _TxtB as new list(of textbox)
     
    private sub CreateTextboxes
      for x as integer = 1 to 10
        for y as integer = 1 to 10
          dim t as new textbox
          _TxtB.Add(t)
          t.left = x * 100
          t.top = y * 20
          t.size = new drawing.size(100,20)
          AddHandler t.Click, AddressOf TextboxClick
          me.controls.add(t)
        next
      next
    end sub
     
    private sub TextboxClick(sender as object, e as system.Eventargs)
       dim LeTextboxCliqué as textbox = directcast(sender, textbox)
       '
    end sub
    sinon il existe des container de positionnement permettent de ne pas avoir à manipuler top et left (tablelayoutpanel, flowlayoutpanel etc...)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Par défaut
    Citation Envoyé par Pol63 Voir le message

    sinon il existe des container de positionnement permettent de ne pas avoir à manipuler top et left (tablelayoutpanel, flowlayoutpanel etc...)
    Merci pour l'aide, c'est ok pour l'utilisation de AddHandler; je vais maintenant fouiller autour de la création automatique des Textbox, surtout de leur positionnement par rapport aux besoins de mon projet.
    Encore Merci.

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

Discussions similaires

  1. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  2. portée d'une variable dans une fonction dans une méthode
    Par laurentg2003 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/06/2009, 19h05
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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