PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VB.NET - Fenster bewegbar machen



CYSER
27.03.2009, 17:24
Also es geht darum ich hab formboarderstyle auf None

möchte aber trotzdem das mein fenster bewegbar bleibt!
ich habe schon diesen code den ich im Internet gefunden habe ausprobiert doch dieser funktioniert bei mir nicht.


Private Declare Sub ReleaseCapture Lib "User32" ()

Private Declare Function SendMessage Lib "User32" _
Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long

Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2

Private Sub Picture1_MouseDown(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
Dim lResult As Long
If Button = 1 Then
Call ReleaseCapture
lResult = SendMessage(Me.hwnd, WM_NCLBUTTONDOWN, _
HTCAPTION, 0&)
End If
End Sub

hat wer noch ne andere lösung?

Montaxx
27.03.2009, 17:26
ich hab da was selber benutzt für meine Radio STation...mom


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()
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()
Case Is = Nothing
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

CYSER
27.03.2009, 17:32
wow geil :D danke dir so habe ich mir das vorgestellt :D