Feedback

VB - Form mit gedrückter linker Maustaste bewegen

Veröffentlicht von am 09.08.2007
(0 Bewertungen)
Der Code überwacht, ob auf der Form eine Maustaste gedrückt + bewegt wird, und verschiebt dann das Fenster entsprechend. Nützlich, wenn man aus Designgründen keine Titelleiste hat, vgl. Winamp o.ä..
    ' =====================================================================================
    ' =============== Fenster Bewegen mit gedrückter Maustaste ============================
    ' =====================================================================================
#Region "Fenster bewegen mit Maus"

    Private CurrentPosition As New System.Drawing.Point
    Private MouseButton As System.Windows.Forms.MouseButtons = Nothing

    Private Overloads Sub OnMouseDown(ByVal Sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown

        MyClass.MouseButton = e.Button()
        Softwareliste.Update()
        With MyClass.CurrentPosition
            .X = e.X()
            .Y = e.Y()
        End With

    End Sub

    Private Overloads Sub OnMouseMove(ByVal Sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove

        Select Case MouseButton
            Case Is = Windows.Forms.MouseButtons.Left
                MyClass.Top = Windows.Forms.Cursor.Position.Y() - MyClass.CurrentPosition.Y()
                MyClass.Left = Windows.Forms.Cursor.Position.X() - MyClass.CurrentPosition.X()
                Softwareliste.Update()
            Case Is = Nothing
                Softwareliste.Update()
                Exit Sub
        End Select
    End Sub

    Private Overloads Sub OnMouseUp(ByVal Sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp
        MyClass.MouseButton = Nothing
    End Sub

#End Region
Abgelegt unter Maus, Form, bewegen, verschieben.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!