Hi
Das geht so:
Gruß
~blaze~
Das geht so:
VB.NET-Quellcode
- 'Entfernen, wenn kein eingeschränkter Bereich existieren soll
- Dim DockLeft As Integer = 0
- Dim DockRight As Integer = 0
- Dim DockTop As Integer = 0
- Dim DockBottom As Integer = 0
- Dim TitleBarSize As Size
- Private Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- TitleBarSize = Me.Size - Me.ClientSize
- End Sub
- 'bis hier
- Dim Pos As Point
- Private Sub Control_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDown
- Pos = e.Location
- Dim C As Control = DirectCast(sender, Control)
- End Sub
- Private Sub Control_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseMove
- If e.Button = Windows.Forms.MouseButtons.Left Then
- Dim C As Control = DirectCast(sender, Control)
- Dim Loc As Point = e.Location - Pos + C.Location
- 'Entfernen, wenn kein eingeschränkter Bereich existieren soll
- 'bei Docking einfach Dock anpassen (Vorschlag: 7; 7; 7; 7)
- If Loc.X < DockLeft Then
- Loc.X = 0
- End If
- If Loc.Y < DockTop Then
- Loc.Y = 0
- End If
- If Loc.X > C.Parent.Width - C.Size.Width - DockRight - 16 Then
- Loc.X = C.Parent.Width - C.Size.Width - 16
- End If
- If Loc.Y > C.Parent.Height - C.Size.Height - DockBottom - TitleBarSize.Height Then
- Loc.Y = C.Parent.Height - C.Size.Height - TitleBarSize.Height
- End If
- 'bis hier
- C.Location = Loc
- End If
- End Sub
Gruß
~blaze~
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „~blaze~“ ()