[VB.net] [C#] Deplacer manuellement un controle panel
Salut,
mon probleme est de pouvoir permettre au user de deplacer manuellement un cadre (un panel transparent cadré)...j'y arrive à peu près (j'ai pas encore fini mon code) avec ce bout de code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
Private Sub cadre_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles cadre.MouseMove
If AllowMove Then
Thread.Sleep(20)
Dim newCadreLocation as New System.Drawing.Point
newCadreLocation.X = (e.X - oldPosMouseX) + oldCadreLocation.X
newCadreLocation.Y = (e.Y - oldPosMouseY) + oldCadreLocation.Y
cadre.Location =newCadreLocation
End If
End Sub
Private Sub cadre_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles cadre.MouseDown
oldPosMouseX = e.X
oldPosMouseY = e.Y
oldCadreLocation= cadre.Location
AllowMove = True
End Sub
Private Sub cadre_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles cadre.MouseUp
AllowMove = False
End Sub |
mais le problème est que en deplacement il ya tjour une traine de ce controle qui commence du location initial du cadre au moment ou je le dépose...comme indiqué:
http://www.rr11.com/uploads/14d9ea17c1.jpg
Est ce que je peux regler ça par code...ou bien c'est à cause de la faiblaisse de ma carte graphique...
Merci d'avance... :wink: