Imports System.Drawing
Imports System.Windows.Forms
’******************************************
Private oOriginalRegion As Region = Nothing
’ 用于窗體移動(dòng)
Private bFormDragging As Boolean = False
Private oPointClicked As Point
’******************************************
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
Me.bFormDragging = True
Me.oPointClicked = New Point(e.X, e.Y)
End Sub
’******************************************
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
Me.bFormDragging = False
End Sub
’******************************************
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
If Me.bFormDragging Then
Dim oMoveToPoint As Point
’ 以當(dāng)前鼠標(biāo)位置為基礎(chǔ),找出目標(biāo)位置
oMoveToPoint = Me.PointToScreen(New Point(e.X, e.Y))
’ 根據(jù)開(kāi)始位置作出調(diào)整
oMoveToPoint.Offset(Me.oPointClicked.X * -1, _
(Me.oPointClicked.Y + _
SystemInformation.CaptionHeight + _
SystemInformation.BorderSize.Height) * -1)
’ 移動(dòng)窗體
Me.Location = oMoveToPoint
End If
End Sub
Imports System.Windows.Forms
’******************************************
Private oOriginalRegion As Region = Nothing
’ 用于窗體移動(dòng)
Private bFormDragging As Boolean = False
Private oPointClicked As Point
’******************************************
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
Me.bFormDragging = True
Me.oPointClicked = New Point(e.X, e.Y)
End Sub
’******************************************
Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
Me.bFormDragging = False
End Sub
’******************************************
Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
If Me.bFormDragging Then
Dim oMoveToPoint As Point
’ 以當(dāng)前鼠標(biāo)位置為基礎(chǔ),找出目標(biāo)位置
oMoveToPoint = Me.PointToScreen(New Point(e.X, e.Y))
’ 根據(jù)開(kāi)始位置作出調(diào)整
oMoveToPoint.Offset(Me.oPointClicked.X * -1, _
(Me.oPointClicked.Y + _
SystemInformation.CaptionHeight + _
SystemInformation.BorderSize.Height) * -1)
’ 移動(dòng)窗體
Me.Location = oMoveToPoint
End If
End Sub