Drag and Drop Externe

gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008 - 2 janv. 2008 à 10:43
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008 - 2 janv. 2008 à 18:21
Bonjour,

Je n'est jamais fait de drag and drop et j'aimerais faire un drag and drop interne et externe en ce qui concerne les images dans les picturebox.
Par exemple, au lieu d'exécuter openfiledialog pour ouvrir une image dans mon appli, j'aimerais faire un drag and drop externe afin d'améliorer l'utilisation de l'utilisateur

8 réponses

Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
2 janv. 2008 à 11:14
Et donc, quelle est la question ?

Si tu veux juste savoir comment marche le drag&drop en C#, il y a beaucoup d'info la dessus (sur ce site et plus largement sur le net). Tu verras aussi qu'il n'y a pas de distinction "interne/externe", et que si ton contrôle sait recevoir des éléments par "drop" il pourra le faire aussi bien en interne qu'en externe.

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
2 janv. 2008 à 13:43
Oui, effectivement j'ai pu le constater mais malheureusement je n'y parviens pas

voici mon code actuellement

form.allowDrop = true;




private




void pictureBox1_DragEnter(object sender, DragEventArgs
e)

{



e.Effect =

DragDropEffects.All;








}




private
void pictureBox1_DragDrop(object sender, DragEventArgs
e)



{



((PictureBox)sender).Image = (Bitmap)e.Data.GetData(DataFormats.GetFormat);






















}




private
void pictureBox1_MouseDown(object sender, MouseEventArgs
e)



{



DoDragDrop(((PictureBox)sender),
DragDropEffects
.All);



}




private
void pictureBox1_DragOver(object sender, DragEventArgs
e)



{



e.Effect =
DragDropEffects
.All;



}
0
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
2 janv. 2008 à 13:56
Il faut que tu donnes un peu plus de détails, parce que "je n'y parviens pas" c'est assez vague... Ca ne compile pas? ca plante à l'exécution ? Ca ne fait pas ce qui est prévu ?

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
2 janv. 2008 à 14:03
ça compile bien et ça ne plante pas c'est juste que : il ne se passe rien !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
2 janv. 2008 à 14:33
Salut,
PictureBox ne possède pas la property AllowDrop.
Essayes avec un Panel...

<hr />
-My Blog-
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
2 janv. 2008 à 14:38
J'ai essayé aussi, mais le résultat est le même !!


Est ce que j'ai oublié quelque chose ??
0
Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
2 janv. 2008 à 14:44
Est ce que l'application "semble accepter le drag&drop", autrement dit si tu tentes de glisser un object dessus, est ce que le curseur est modifié pour représenter le drag&drop ?
Qu'est ce que ça donne en debugant ? Rentres tu dans la méthode "pictureBox1_DragDrop" ?

Comment testes tu, en faisant glisser un fichier depuis l'explorateur window vers ton application ? Si c'est le cas, alors ce qu'il faut t'attendre à recevoir ce n'est pas une Bitmap, mais une string contenant le nom du fichier.

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
0
gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008
2 janv. 2008 à 18:21
oui c'est depuis l'explorateur window
 donc je dois faire comment ?
un truc de ce genre là dans dragdrop, je suppose !
((PictureBox)sender).Image = Image.FromFile((string)e.Data.GetData(DataFormats.GetFormat));
0
Rejoignez-nous