(VB.Net) Drag & Drop Image

Convergence Messages postés 6 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 19 juin 2005 - 19 juin 2005 à 18:12
morickno Messages postés 117 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 26 juin 2007 - 20 juin 2005 à 17:18
Bonjour,

j'ai fait un petit programme de test pour faire un drag and drop d'une image dans une autre image en associant un tag. Si quelqu'un a une solution à mon problème je serai bien heureux. Voici mon code et les explications qui sont associé...



' Sur ma Form, j'ai 2 picturebox. Le picturebox1 a une image d'associé. Je veux la



' dragguer (copié), dans le picturebox2 qui n'a aucune image d'associé. Mon programme



' fonctionne très bien. Par contre, ce que je veux vraiment faire c'est de draguer



' le PictureBox1.image + le PictureBox1.tag. Les 2 ne peuvent fonctionner



' en même temps. Je suis capable de copié soit un ou l'autre (.tag ou .image).



' Ceci dépend ou je mets ma ligne d'execution.



Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs) _



Handles
MyBase.Load



' Le PictureBox2 accepte le drop...


PictureBox2.AllowDrop =
True



End
Sub



Private
Sub PictureBox1_MouseDown(
ByVal sender
As
Object, _



ByVal e
As System.Windows.Forms.MouseEventArgs) _



Handles PictureBox1.MouseDown



' À titre d'exemple, je met le mot test d'associé au Tag du PictureBox1...


PictureBox1.Tag = "Test"



' C'est ici que mon problème ce présente. Lorsque mon bouton souris de



' gauche est appuyé, j'associe au drag and drop du PictureBox1, l'image



' à copier, ainsi que le tag.



If e.Button = MouseButtons.Left
Then


PictureBox1.DoDragDrop(PictureBox1.Image, DragDropEffects.Copy)



' Ce qui ce passe vraiment, c'est qu'il garde en mémoire cette ligne.



' Donc, quand je drag le PictureBox1 dans le PictureBox2, il ne drag



' que le tag. Je veux qu'il drag les 2 en même temps.


PictureBox1.DoDragDrop(PictureBox1.Tag, DragDropEffects.Copy)



End
If



End
Sub



Private
Sub PictureBox2_DragEnter(
ByVal sender
As System.Object, _



ByVal e
As System.Windows.Forms.DragEventArgs) _



Handles PictureBox2.DragEnter


e.Effect = DragDropEffects.Copy



End
Sub



Private
Sub PictureBox2_DragDrop(
ByVal sender
As System.Object, _



ByVal e
As System.Windows.Forms.DragEventArgs) _



Handles PictureBox2.DragDrop



' Les formats que le PictureBox2 accepte. Soit un bitmap et un StringFormat...


PictureBox2.Image = (e.Data.GetData(DataFormats.Bitmap))


PictureBox2.Tag = (e.Data.GetData(DataFormats.StringFormat))



End
Sub



Private
Sub PictureBox2_Click(
ByVal sender
As System.Object, _



ByVal e
As System.EventArgs)
Handles PictureBox2.Click



' Cet événement click sur le PictureBox2 est créé pour tester si



' Le tag est bien copié dans le PictureBox2...


Label1.Text = PictureBox2.Tag



End
Sub

Merci d'avance pour ce petit casse tête.

7 réponses

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
19 juin 2005 à 18:38
et c'est quoi le problème ??? tu as un message d'erreur ??? ça fais rien ???


-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------
0
Convergence Messages postés 6 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 19 juin 2005
19 juin 2005 à 18:44
Quand je fais un drag dans mon picturebox2, il drag seulement mon picturebox1.tag. Il ne drag pas mon picturebox1.image. Ce que je veux, c'est qu'il drag ces 2 propriété en même temps.
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
19 juin 2005 à 19:08
quand tu débute ton drag, envoi les propriété dans une varaible et quand tu drop, va chercher les propriété voulu


mais si ma mémoire est bonne, le sender du dragdrop est le composant initiale, faudrais vérifié, je te dit ça de mémoire


-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------
0
Convergence Messages postés 6 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 19 juin 2005
19 juin 2005 à 19:13
Tu veux dire envoyer la propriété image et la propriété tag dans une même variable ? Mais elle ne sont pas du même type ! Un est de type as picturebox et l'autre as string. je crois que je n'est pas bien saisi. Est-ce que tu as un exemple ?
0

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

Posez votre question
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
19 juin 2005 à 19:16
met un break et regarde ce qui se trouve dans le serder du drag and drop


-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------
0
Convergence Messages postés 6 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 19 juin 2005
19 juin 2005 à 19:26
D'accord, je crois que j'ai saisi. Je vais essayer. Je te remercie de tes conseils.
0
morickno Messages postés 117 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 26 juin 2007
20 juin 2005 à 17:18
si tu trouve la solution, j'aimerai bien tu m'en fasse part car j'aimerai aussi réussir à faire un drag & drop image mais je n'y arrive pas

Merci
0
Rejoignez-nous