Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
717 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB.Net]Drag and drop

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB.Net]Drag and drop

n°2118596
astik89
Posté le 28-12-2011 à 20:39:09  profilanswer
 

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 :
  1. Private Sub pnVisuDessin_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles pnVisuDessin.DragDrop
  2.      
  3. Dim Element As Windows.Forms.Panel = CType(e.Data.GetData("System.Windows.Forms.Panel";), Panel)
  4. 'Coordonnees de l'élément dans le panel à partir des coordonnées de la souris
  5.         Element.Location = New Point(e.X - (Me.MdiParent.Left + Me.Left + pnVisuDessin.Left), e.Y - (Me.Top + pnElements.Top))
  6.                'On ajoute l'élement au panel
  7.         Me.pnVisuDessin.Controls.Add(Element)
  8.     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
mood
Publicité
Posté le 28-12-2011 à 20:39:09  profilanswer
 

n°2118639
olivthill
Posté le 29-12-2011 à 10:53:43  profilanswer
 

Voir http://msdn.microsoft.com/en-us/li [...] s.85).aspx
 
Attention, Microsoft a eu l'idée (géniale  :pt1cable: ) de changer le célèbre ClientToScreen en PointToScreen.

n°2118656
astik89
Posté le 29-12-2011 à 11:49:27  profilanswer
 

Merci
J'ai utilisé la fonction inverse, PointToClient et ça fonctionne.
 
Concernant la copie du contrôle, je pense que je vais en créer un nouveau et lui affecter les propriétés.
A moins que quelqu'un ait une solution?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB.Net]Drag and drop

 

Sujets relatifs
[VB.NET] Utilisation des collections [Résolu]Qt Drag & Drop [Résolu]
[VB.NET] Lecture et écritureActive Directory en VB 2010
[Débutant]Private sub dans private sub?(VB)VB Macro Importer des infos de tous mes docs excel dans un doc excel
VB pour envoyer par mail plusieurs lignes excel 
Plus de sujets relatifs à : [VB.Net]Drag and drop


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR