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 :

VB.NET - Drag&Drop listbox créées dynamiquement


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 44
    Par défaut VB.NET - Drag&Drop listbox créées dynamiquement
    Bonjour à tous,

    Dans cadre d'une application de gestion, je dois crééer une multitude de listeBox (Nombre inconnu) en fonction d'une table de ma base de données. Puis, remplir ces listebox en fonction d'une autre table.
    L'exemple pour mon cas est le suivant :

    Je dois afficher l'ensemble des chefs de mon service (un chef = une listebox) puis, pour chaque listebox, les remplir avec les employés travaillant pour ces chefs.
    Donc j'appuie bien sur le fait que les listebox sont créées dynamiquement.
    Jusque ici, pas de problèmes.


    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    dim liste(0) as listbox
    dim lab(0) as label
    dim req as string = "select Nom from Chef" 'selection de tout les noms de chefs de ma table
    Dim Cd as New SqlCommand(req,cn) 'où cn est ma chaine de connexion.
    dim rd as SqlDataReader
    dim rd2 as SqlDataReader
    rd = cd.executeReader()
     
    while rd.read()
     
          Redim liste(liste.lenght +1)
          Redim lab(lab.lenght +1)
     
          liste(i) = New ListBox 'Ajout d'une nouvelle ListeBox
          lab(i) = new label ' label qui se place au dessus de la liste et qui affichera le nom du chef
     
          liste(i).location = new Point(z*140,20) ' place les listebox les unes a cotes des autres
          liste(i).allowdrop = true ' Accepte de recevoir des objets du drag&drop
     
          lab(i).location = new Point(z*140,15)
          lab(i).text = "Chef_en_cours"
     
          dim reqAgent as string = "select nomAgents from Agent where Chef='Chef_en_cours' "
          dim cd2 as new SqlCommand(reqAgent,cn)
     
         rd2 = cd2.executeReader
     
         while rd2.read()
               liste(i).items.add(rd2.GetValue("nom_agent")) 'ajout des agents dans la liste en cours
         end while
     
         me.controls.add(list(i)) 'Ajoute la liste dans le form
         me.controls.add(lab(i)) 'ajoute le label dans le form
     
        i = i+1
        z = z+1
    Voila ce que représente ce que je viens de dire en code vb.net.

    Maintenant, le problème est que je voudrais pouvoir par le Drag&Drop sélctionner un agent et le déplacer vers une autre listeBox (d'où l'application de gestion).

    En temps normal, il suffit d'ajouter du code pour les évenements MouseDown, DragOver et dragDrop pour les listes affichées mais comme ici, je n'ai pas physiquement les listebox, je ne sais pas comment on peut ajouter le code pour ces évenements depuis le code que je viens de vous écrire.

    Pouvez vous m'aider ?

    Merci d'avance,

    Au plaisir de vous lire

  2. #2
    Membre chevronné
    Avatar de Ogotcha
    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Par défaut
    Il te suffit sur la création de ta listbox gérer aussi la création d'un nouvel handler (événement)

    Regarde du côté du AddHandler (Lien vers la MSDN)
    Mon Blog
    FAQs DotNet
    Fonction utile : Recherche

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 44
    Par défaut
    Ok je vais regarder ca mais je n'ai aucune connaissance du addHandler...

    Sinon, j'ai trouvé ce post : http://www.developpez.net/forums/d64...s/#post4824293

    Si tu as d'autres explications sur le addhandler, je suis preneur !

  4. #4
    Membre chevronné
    Avatar de Ogotcha
    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Par défaut
    En gros les AddHandler permet d'appliquer un évènement dynamiquement à un élément.

    Un petit exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    'Code sur le load de ma form
    Dim btn As Button
    btn = New Button()
    btn.Name = ""
    btn.Text = ""
     
    AddHandler btn.Click, AddressOf BtnClick
     
    'fin du code de ma form
     
    Private Sub BtnClick(ByVal sender As System.Object, ByVal e As System.EventArgs)
    'Code executer lors du click sur le bouton
    End Sub
    Mon Blog
    FAQs DotNet
    Fonction utile : Recherche

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 44
    Par défaut
    D'accord, ca fonctionne sur le double clic .

    Donc si je comprends bien, pour les évenements MouseDown, DragOver et dragDrop, dans le cas où je veux effectuer un drag&drop, il suffit que je rajoute à chaque fois le addHandler et les procédures qui suivent l'evenement.

    Je te remercie !

  6. #6
    Membre chevronné
    Avatar de Ogotcha
    Inscrit en
    Juillet 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 232
    Par défaut
    Bon code à toi et n'hésite pas si tu as besoin
    Mon Blog
    FAQs DotNet
    Fonction utile : Recherche

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

Discussions similaires

  1. Drag and Drop & listbox
    Par DarioP dans le forum Windows Forms
    Réponses: 6
    Dernier message: 10/11/2009, 15h55
  2. [VB.net] Drag and drop dans une Treeview
    Par gégécap dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/10/2006, 10h05
  3. [VB.NET]Drag and Drop dans une Listview
    Par gégécap dans le forum Windows Forms
    Réponses: 5
    Dernier message: 23/08/2006, 18h41
  4. [VB.NET] Drag and Drop d'un fichier sur un objet Panel
    Par Mü dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/11/2005, 12h30
  5. [Débutant(e)][VB.NET] Drag and drop entre 2 treeviews
    Par - Manuella Leray - dans le forum Windows Forms
    Réponses: 8
    Dernier message: 13/10/2005, 15h54

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