打印本文 打印本文 关闭窗口 关闭窗口
VB.NET 拖动无边框的窗体
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1318  更新时间:2009/4/23 19:01:31  文章录入:mintao  责任编辑:mintao

''''******************************************
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

打印本文 打印本文 关闭窗口 关闭窗口