天天看点

[VB.net][WinForm]Panel控件移动\鼠标拖动Region “Panel控件移动代码”End Region

“`

‘控制控件移动

Public Shared whetherSelected As Boolean

Public Shared p As Point

‘窗体首次显示

Private Sub frm_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown

whetherSelected = False

p = New Point()“

End Sub

Region “Panel控件移动代码”

'鼠标按下
Private Sub pnlPopUp01_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pnlPopUp01.MouseDown, lblPopup01Head.MouseDown
    whetherSelected = True
    p.X = Cursor.Position.X
    p.Y = Cursor.Position.Y
End Sub

'鼠标抬起
Private Sub pnlPopUp01_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pnlPopUp01.MouseUp, lblPopup01Head.MouseUp
    whetherSelected = False
End Sub

'鼠标移动
Private Sub pnlPopUp01_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pnlPopUp01.MouseMove, lblPopup01Head.MouseMove
    If whetherSelected = True Then

        pnlPopUp01.Left = pnlPopUp01.Left + (Cursor.Position.X - p.X)
        pnlPopUp01.Top = pnlPopUp01.Top + (Cursor.Position.Y - p.Y)

        p.X = Cursor.Position.X
        p.Y = Cursor.Position.Y

    End If

End Sub
           

End Region