Drag and drop sur listview [Résolu]

Signaler
Messages postés
193
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
12 août 2010
-
wald39
Messages postés
68
Date d'inscription
jeudi 5 janvier 2006
Statut
Membre
Dernière intervention
23 février 2011
-
Bonjour
J'aimerais savoir s'il était possible de gérer un drag and drop d'un élément exterieur à l'application (raccourci de bureau, fichier ...) sur un Listview. J'ai essayé quelques trucs mais sans résultat. J'arrive juste à faire un drag and drop d'un element du meme form.
Merci d'avance

3 réponses

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
42
Bonjour,

On va faire tout bete. Supposons que tu veuilles glisser n'importe quel element de ton bureau vers ton ListView, et afficher son chemin dans celui-ci:
Il faut t'inscrire aux evenements DragDrop et DragEnter de ton ListView, et mettre sa propriété AllowDrop a true.
Ensuite, dans les méthodes associées a DragDrop et DragEnter :


<HR>
private
void listView1_DragEnter(
object sender,
DragEventArgs e)
{

if (e.Data.GetDataPresent(
DataFormats.FileDrop))
{
e.Effect =
DragDropEffects.Copy;
}
}

private
void listView1_DragDrop(
object sender,
DragEventArgs e)
{

string[] files = (
string[])e.Data.GetData(
DataFormats.FileDrop);

foreach (
string f
in files)
{

this.listView1.Items.Add(f.ToString());
}
}


<HR>


Mx
MVP C#
Messages postés
193
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
12 août 2010

J'avais essayé quelque chose dans ce genre mais ca n'avais aps marché, pe parce que je n'utilisais pas FileDrop.
Merci beaucoup :)
Messages postés
68
Date d'inscription
jeudi 5 janvier 2006
Statut
Membre
Dernière intervention
23 février 2011

Bjr MorpionMx,
J'utilise exactement le code que tu as fourni mais rien ne se produit lorsque j'essaye de faire un drag drop avec un fichier mp3 ou autre. l'icone du curseur reste le meme sur toute ma form le cercle interdit.

Est ce que ce code fonctionne vraiment?