[VB.NET] Limiter le déplacement d'un objet
Bonjour tout le monde,
j'ai besoin de votre aide pour un petit problème qui me casse la tête depuis des heures :aie: , je vous explique au moindre détail : j'ai un Bouton que je déplace avec l'événement MouseDown et MouseMove à l'intérieur d'un Panel et j'ai beau essayé de limiter son déplacement pour qu'il ne puisse plus sortir des limites du Panel mais j'y arrive pas, ou plutôt je bloque à un certain point, voici le code que j'utilise :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
Public Class Form1
Dim M As Point
Private Sub Button1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseDown
If e.Button = Windows.Forms.MouseButtons.Left Then
M = e.Location
End If
End Sub
Private Sub Button1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseMove
If ((Button1.Location.Y < (0)) Or ((Button1.Location.Y > (0)) Or (Button1.Location.X < (0)) Or (Button1.Location.X > (113))) And (e.Button = Windows.Forms.MouseButtons.Left)) Then
Button1.Location += New Point(0, 0)
Else
If (e.Button = Windows.Forms.MouseButtons.Left) Then
Button1.Location += e.Location - M
End If
End If
End Sub
End Class |
Merci pour votre aide et à bientôt :P !