VB.NET Drag&drop ListBox créées dynamiquement

Fermé
vincent62149 Messages postés 18 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 30 novembre 2009 - 19 nov. 2009 à 11:12
vincent62149 Messages postés 18 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 30 novembre 2009 - 30 nov. 2009 à 10:34
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.

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

Vince
A voir également:

2 réponses

vincent62149 Messages postés 18 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 30 novembre 2009 2
20 nov. 2009 à 12:07
Bon baaah ... up ?
0
vincent62149 Messages postés 18 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 30 novembre 2009 2
25 nov. 2009 à 15:35
Up bis ?
0
vincent62149 Messages postés 18 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 30 novembre 2009 2
30 nov. 2009 à 10:34
Up Ter ?
0