1. #1

    Registriert seit
    17.12.2011
    Beiträge
    139
    Thanked 29 Times in 19 Posts

    Standard Form verschieben

    Hey,
    also wenn man bei "FormBorderStyle" "none" angibt, kann man die Form ja nichtmehr verschieben..
    Könnte mir eventuell einer sagen wie man es machen kann, damit man die Form wieder "anfassen" kann und beliebig nach links oder rechts verschieben kann?

    Wäre echt super,
    Danke im Vorraus!
    iBlack

  2. #2
    Avatar von Diebspiel
    Registriert seit
    18.11.2011
    Beiträge
    311
    Thanked 192 Times in 102 Posts

    Standard Form verschieben

    Global deklarieren:
    Code:
    Public Const WM_NCLBUTTONDOWN As Integer = &HA1
        Public Const HT_CAPTION As Integer = &H2
        Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32
        Private Declare Function ReleaseCapture Lib "user32.dll" () As Int32
    Dann:
    Code:
    Private Sub Form1_MouseDown1(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
            If e.Button = Windows.Forms.MouseButtons.Left Then
                ReleaseCapture()
                SendMessage(Handle.ToInt32, WM_NCLBUTTONDOWN, HT_CAPTION, 0)
            End If
        End Sub
    Code ist aus VB-Paradise.

    /E: Fehler im Code behoben

  3. #3
    Avatar von uncopyable
    Registriert seit
    19.11.2011
    Beiträge
    282
    Thanked 235 Times in 120 Posts

    Standard Form verschieben

    Das geht auch ohne Api

    Code:
    Dim mouseOffset As Point
    
        Private Sub Me_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseDown
            mouseOffset = New Point(-e.X, -e.Y)
        End Sub
    
        Private Sub Me_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseMove
    
            If e.Button = MouseButtons.Left Then
                Dim mousePos = Control.MousePosition
                mousePos.Offset(mouseOffset.X, mouseOffset.Y)
                Location = mousePos
            End If
        End Sub
    mfg

Ähnliche Themen

  1. Win8 Downloads Ordner auf andere Festplatte verschieben
    Von TomatenKetchup im Forum Windows
    Antworten: 5
    Letzter Beitrag: 12.01.2015, 18:35
  2. Mybb Logo verschieben
    Von Kosi im Forum CSS
    Antworten: 7
    Letzter Beitrag: 21.10.2014, 17:56
  3. Windows und Dateien verschieben
    Von Ron im Forum Windows
    Antworten: 6
    Letzter Beitrag: 23.09.2014, 15:14
  4. Win7 Windows auf andere Partition verschieben?
    Von Festplatte im Forum Windows
    Antworten: 1
    Letzter Beitrag: 28.09.2013, 15:26
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.