21-11-13, 11:46 PM
بسم الله الرحمن الرحيم
تعريف الكود:
يقوم هذا الكود وبطريقة مميزة وإنسيابية بإعطاء المستخدم القدرة علي سحب النموذج وتحريكه ليس من شريط العنوان فقط (كما هو الحال الطبيعي) بل بالسحب من أي مكان علي الفورم حتي لو كانت خاصية FormBorderStyle علي None
الكود:
PHP كود :
Private MouseOffset As Point
Private IsLeftButtonDown As Boolean = False
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles Form1.MouseDown
Dim xOffset As Integer
Dim yOffset As Integer
If e.Button = MouseButtons.Left Then
xOffset = -e.X - SystemInformation.FrameBorderSize.Width
yOffset = -e.Y - SystemInformation.CaptionHeight - SystemInformation.FrameBorderSize.Height
MouseOffset = New Point(xOffset, yOffset)
IsLeftButtonDown = True
End If
End Sub
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles Form1.MouseMove
If IsLeftButtonDown Then
Dim MousePosition As Point = Control.MousePosition
MousePosition.Offset(MouseOffset.X, MouseOffset.Y)
Location = MousePosition
End If
End Sub
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs) Handles Form1.MouseUp
If e.Button = MouseButtons.Left Then
IsLeftButtonDown = False
End If
End Sub