1个回答
2013-07-07
展开全部
'******************************************
Private oOriginalRegion As Region = Nothing
' 用于窗体移动
Private bFormDragging As Boolean = False
Private oPointClicked As Point
'******************************************
Private Sub Label1_MouseDown1(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseDown
Me.bFormDragging = True
Me.oPointClicked = New Point(e.X, e.Y)
End Sub
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
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 - 25) * -1)
' 移动窗体
Me.Location = oMoveToPoint
End If
End Sub
我这是vb。net,要在vb中用的话,稍微改动一下。
Private oOriginalRegion As Region = Nothing
' 用于窗体移动
Private bFormDragging As Boolean = False
Private oPointClicked As Point
'******************************************
Private Sub Label1_MouseDown1(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseDown
Me.bFormDragging = True
Me.oPointClicked = New Point(e.X, e.Y)
End Sub
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
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 - 25) * -1)
' 移动窗体
Me.Location = oMoveToPoint
End If
End Sub
我这是vb。net,要在vb中用的话,稍微改动一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询