Fenster mit ToolStrip bewegen und das Perfekt?

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Adam.

    Fenster mit ToolStrip bewegen und das Perfekt?

    hay
    wie kann ich das fenster mittels toolstrip perfekt bewegan lassen? also ohne das das fenster bei schnellen bewegungen einfach stehen bleibt und wie schff ich das auch dass ich das fenster ohne border größer und wieder kleiner ziehen kann (formgröße verändern)?

    hoff auf hilge

    gruß
    Deklarieren:

    VB.NET-Quellcode

    1. Dim mausposition As Point


    und der Code (musst ihn noch für dein Steuerelement
    abwandeln...):

    VB.NET-Quellcode

    1. Private Sub Form5_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
    2. If e.Button = Windows.Forms.MouseButtons.Left Then
    3. mausposition = e.Location
    4. End If
    5. End Sub
    6. Private Sub Form5_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
    7. If e.Button = Windows.Forms.MouseButtons.Left Then
    8. Me.Location = e.Location - mausposition + Me.Location
    9. End If
    10. End Sub


    Gruss
    Hastling
    Vergrößern:

    VB.NET-Quellcode

    1. Private Declare Function ReleaseCapture Lib "user32.dll" () As Int32
    2. Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As IntPtr) As Int32
    3. Private Const WM_NCLBUTTONDOWN As Int32 = &HA1
    4. Private Const HTBOTTOMLEFT As Int32 = 16
    5. Private Const HTBOTTOMRIGHT As Int32 = 17
    6. 'MouseMove
    7. 'Links
    8. If e.Button = Windows.Forms.MouseButtons.Left Then
    9. ReleaseCapture()
    10. SendMessage(Me.Handle, WM_NCLBUTTONDOWN, HTBOTTOMLEFT, IntPtr.Zero)
    11. End If
    12. 'Rechts
    13. If e.Button = Windows.Forms.MouseButtons.Left Then
    14. ReleaseCapture()
    15. SendMessage(Me.Handle, WM_NCLBUTTONDOWN, HTBOTTOMRIGHT, IntPtr.Zero)
    16. End If
    ab Framework 3.0 funtzt das hier bestens um eine Form zu verschieben, siehe:

    VB.NET-Quellcode

    1. Protected Overrides Sub OnMouseLeftButtonDown(ByVal e As MouseButtonEventArgs)
    2. MyBase.OnMouseLeftButtonDown(e)
    3. Me.DragMove()
    4. End Sub


    Ciao...