In Windows Forms ist es ziemlich kompliziert ein Fenster zu verschieben, welches keinen Rand hat. Dort geht das zum Beispiel so:
VB.NET-Quellcode
- Private ptMouseDownLocation As Point
- Private Sub Form1_MouseDown(...) Handles Me.MouseDown
- If e.Button = Windows.Forms.MouseButtons.Left Then
- ptMouseDownLocation = e.Location
- End If
- End Sub
- Private Sub Form1_MouseMove(...) Handles Me.MouseMove
- If e.Button = Windows.Forms.MouseButtons.Left Then
- Me.Location = e.Location - ptMouseDownLocation + Me.Location
- End If
- End Sub
Ziemlich viel Code für solch eine Aufgabe, nicht?
Zum Glück geht das in WPF viel einfacher. In das MouseLeftButtonDown-Ereignis des Fensters (oder eines Steuerelements) kommt diese eine kurze Zeile Code:
Zum Glück geht das in WPF viel einfacher. In das MouseLeftButtonDown-Ereignis des Fensters (oder eines Steuerelements) kommt diese eine kurze Zeile Code:
Das wars! Das Fenster lässt sich jetzt an allen Stellen verschieben, wo kein Steuerelement im Vordergrund ist. Hat man den Code in das MouseLeftButtonDown-Ereignis eines Steuerelements eingefügt, so lässt sich das Fenster nur mit dem Steuerelement verschieben.
lg SeriTools
lg SeriTools
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SeriTools“ ()