VB.NET 拖动无边框的窗体
发表于:2007-06-30来源:作者:点击数:
标签:
****************************************** Private oOriginalRegion As Region = Nothing @# 用于窗体移动 Private bFormDragging As Boolean = False Private oPointClicked As Point @#****************************************** Private Sub Form1_Mo
******************************************
Private oOriginalRegion As Region = Nothing
@# 用于窗体移动
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
@# 以当前鼠标位置为基础,找出目标位置
oMoveToPoint = Me.PointToScreen(New Point(e.X, e.Y))
@# 根据开始位置作出调整
oMoveToPoint.Offset(Me.oPointClicked.X * -1, _
(Me.oPointClicked.Y + _
SystemInformation.CaptionHeight + _
SystemInformation.BorderSize.Height) * -1)
@# 移动窗体
Me.Location = oMoveToPoint
End If
End Sub
原文转自:http://www.ltesting.net