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é.
Code :
- 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
|
Je pense que ça vient du fait que lorsque j’écris Element=e..., en fait il associe les 2 contrôles.
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.
Message édité par astik89 le 28-12-2011 à 20:39:28