Bonsoir à tous,
je cherche à copier un control depuis un panel dans un autre panel via un drag and drop.
J'ai réussi à gérer le drag and drop sans trop de soucis, mais lorsque je copie le contrôle, il est en réalité déplacé.
Je pense que ça vient du fait que lorsque j’écris Element=e..., en fait il associe les 2 contrôles.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub pnVisuDessin_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles pnVisuDessin.DragDrop Dim Element As Windows.Forms.Panel = CType(e.Data.GetData("System.Windows.Forms.Panel";), Panel) 'Coordonnees de l'élément dans le panel à partir des coordonnées de la souris Element.Location = New Point(e.X - (Me.MdiParent.Left + Me.Left + pnVisuDessin.Left), e.Y - (Me.Top + pnElements.Top)) 'On ajoute l'élement au panel Me.pnVisuDessin.Controls.Add(Element) End Sub
Question subsidiaire:
comment je peux convertir les coordonnées de la souris (coordonnées écran) en coordonnées dans mon form.
Pour l'instant j'ai bidouillé une formule, mais elle ne tient pas compte des épaisseurs de fenêtre, ni de ma form MDIparent.
Partager