Source de base :
http://msdn.microsoft.com/fr-fr/library/aa289508(en-us,VS.71).aspx#vbtchimpdragdropanchor5
Les modifications : Une "généralisation" du code en utilisant l'outil sender.
Rien de bien spécial mais je pense qu'elle pourrai aidé certain débutants (comme moi)
Source / Exemple :
Public Class Form1
Dim m_MouseIsDown As Boolean
Dim sender2 As Object
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.PictureBox1.AllowDrop = True
Me.PictureBox2.AllowDrop = True
Me.PictureBox3.AllowDrop = True
End Sub
#Region "Mouse Down"
Private Sub Mouse_Down(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown, PictureBox2.MouseDown, PictureBox3.MouseDown
If Not sender.Image Is Nothing Then 'On verifie que la picturebox source n'est pas vide
m_MouseIsDown = True
End If
End Sub
#End Region
#Region "Mouse Move"
Private Sub Mouse_Move(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove, PictureBox2.MouseMove, PictureBox3.MouseMove
If m_MouseIsDown = True Then
sender2 = sender 'On recupére le nom d'objet de la picturebox source
sender.DoDragDrop(sender.Image, DragDropEffects.Move) 'On lance l'operation de Drag&Drop de l'image
End If
m_MouseIsDown = False
End Sub
#End Region
#Region "DragEnter"
Private Sub Drag_Enter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox1.DragEnter, PictureBox2.DragEnter, PictureBox3.DragEnter
If e.Data.GetDataPresent(DataFormats.Bitmap) Then
e.Effect = DragDropEffects.Move
Else
e.Effect = DragDropEffects.None 'Au cas ou il y a eu un probléme dans l'envoi de l'image
End If
End Sub
#End Region
#Region "DragDrop"
Private Sub Drag_Drop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles PictureBox1.DragDrop, PictureBox2.DragDrop, PictureBox3.DragDrop
sender2.Image = Nothing 'On vide la picturebox source
sender.Image = e.Data.GetData(DataFormats.Bitmap) 'on place l'image dans la picture box source
End Sub
#End Region
End Class
Conclusion :
_ _ _ _|_. _
(_||_|(/_| | | || |
|/
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.