Drag & drop entre picture box

Description

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 :


_ _ _ _|_. _
(_||_|(/_| | | || |
|/

Codes Sources

A voir également

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.