cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011
-
22 juil. 2008 à 21:59
cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011
-
23 juil. 2008 à 14:29
Bonjour, je souhaite pouvoir effectuer des opération de drag&drop entre une listview et l'environnement exterieur à l'application (explorateur windows, fichiers sur le bureau.. etc)
Sauriez vous m'expliquer brièment le mode de fonctionnement ou me conseiller un tutoriel pour débuter ? Il ne m'a semblé trouver que des exmples de drag&drop ente 2 listbox..
Or mon curseur affiche toujours le symbole indiquant qu'il est impossible d'effectuer une opération de drag&drop...
De plus saurais-tu m'expliquer l'utilité de la listView2 dans ton premier lien ?.
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 23 juil. 2008 à 11:34
C'est un drag & drop entre deux listview dans cet exemple, c'est pour ça qu'il y en a deux
Après relecture de ton message, j'ai un blanc: je ne sais plus si on peut faire du drag&drop avec des éléments qui sont externes à l'application avec cette méthode ou s'il faut procéder autrement...
cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011 23 juil. 2008 à 11:37
Up,
Je n'ai pas cessé de chercher, donc voici mes avancées, j'ai procédé autrement et je parviens à avoir un curseur correct lorsque je glisse un fichier sur ma listview:
private void set_dragdrop()
{
listtwo.AllowDrop = true;
listtwo.DragEnter += new DragEventHandler(listtwo_DragEnter);
listtwo.DragDrop += new DragEventHandler(listtwo_DragDrop);
listtwo.MouseDown += new MouseEventHandler(listtwo_MouseDown);
listtwo.DragOver += new DragEventHandler(listtwo_DragOver);
}
1) le plus évident: ce la ne fonctionne pas, aucun item n'est ajouté à ma listview
2) lorsque je clique une fois dans ma listview, en déplaçant ma souris un cadre de selection se créé.. pourquoi ?
cs_ansizak
Messages postés191Date d'inscriptionmercredi 11 juillet 2007StatutMembreDernière intervention30 juin 2011 23 juil. 2008 à 13:23
Ceci n'est pas du flood :)
Mais ayant farfouillé un peu partout et soucieux de réussir une opération de drag and drop, je suis enfin parvenu à quelquechose qui n'est toujours pas au point. Je m'explique.
Pour le moment, l'opération précise que je cherche à réaliser est la suivante: ajouter à une listview de nom d'un fichier que je fait glisser depuis l'exterieur de mon application vers la listview.
Voici ce qui fonctionne (plus ou moins):
public bool ismousedown;
private void set_dragdrop()
{
listtwo.AllowDrop = true;
listtwo.DragEnter += new DragEventHandler(listtwo_DragEnter);
listtwo.DragDrop += new DragEventHandler(listtwo_DragDrop);
listtwo.MouseDown += new MouseEventHandler(listtwo_MouseDown);
listtwo.MouseUp += new MouseEventHandler(listtwo_MouseUp);
}
foreach (string s in formats)
{
this.listtwo.Items.Add(s);
}
}
Ce que j'obtiens:
Me sont listés les items suivant dans ma list view le chaines de caractère suivantes:
- Shell IDList Array
- Shell Object Offsets
- DragImageBits
- DragContext
- InShellDragLoop
- FileDrop
- FileNameW
- FileName
J'imagine que c'est normal étant donné que j'effectue l'opération qui permet de récupérer les formats (code trouvé sur le net), cependant j'aimerais pouvoir effectuer la même chose avec la liste des noms de fichiers glissés...