-
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von X-Zat.
-
-
Na dann geb ich dir mal einer wenig C&P (leider aber nicht mit VB-Codeansicht, da Google Chrome das nicht richtig übernimmt):
Spoiler anzeigen Dim mousePointing as Boolean = False 'Boolean ob die Maus schon die PB angeklickt hat, global deklarieren!
Dim mousePosition as Point 'Koordinate, an die die PB wandern soll, global deklarieren!
'Beim MouseClick-Event der PB
If mousePointing = False then
mousePointing = True 'Maus hat jetzt die PB angeklickt
Else
mousePointing = False 'Maus hat bereits die PB angeklickt, Boolean wird zurückgesetzt
End If
'Beim MouseClick-Event der Form
If mousePointing = True Then
mousePosition = Cursor.Position 'oder .Location, ist jetzt aus dem Kopf / Zielkoordinaten werden übergeben
mouseMoveTimer.Start() 'Starte Timer, der die PB bewegt
'Bei einem Timer "mouseMoveTimer" mit Interval < 40 (= max 25 FPS), das Tick-Event
If Not PB.Location.X = mousePosition.X Then
If PB.Location.X - mousePosition.X > 0 Then PB.Location = new Point(PB.Location.X-1,PB.Location.Y) 'PB ist rechts vom gewünschten Punkt, rückt nach links
If PB.Location.X - mousePosition.X < 0 Then PB.Location = new Point(PB.Location.X+1,PB.Location.Y) 'PB ist links vom gewünschten Punkt, rückt nach rechts
End If
If Not PB.Location.Y = mousePosition.Y Then
If PB.Location.Y - mousePosition.Y > 0 Then PB.Location = new Point(PB.Location.Y,PB.Location.Y-1) 'PB ist unter dem gewünschten Punkt, rückt nach oben
If PB.Location.Y - mousePosition.Y < 0 Then PB.Location = new Point(PB.Location.X,PB.Location.Y+1) 'PB ist über dem gewünschten Punkt, rückt nach unten
End If
If PB.Location.X = mousePosition.X AndAlso PB.Location.Y = mousePosition.Y Then mouseMoveTimer.Stop() 'PB ist an der richtigen Position
Hatte ähnliches (auf GDI-Basis) erst kürzlich selbst gemacht, das hier ist eine vereinfachte Version aus dem Kopf.
Ich hoffe, ich konnte helfen!
MfG,
X-Zat / Momo -
...
X-Zat schrieb:
'Beim MouseClick-Event der PB
If mousePointing = False then
mousePointing = True 'Maus hat jetzt die PB angeklickt
Else
mousePointing = False 'Maus hat bereits die PB angeklickt, Boolean wird zurückgesetzt
End If
...
-
-
Dazu musst du diePosition des Mauszeigers relativ zur Form herausfinden.
Denn in die Titelleistesit z.B. schon in der Form mit einbeschlossen.
Ich glaube, es gibt einen Befehl (irgendwas mit "Client."), mitdem du die Cursor-Position relativ zur Form erhälst - Ansonsten einfach mal Google quälen ;).
Hoffe, ich konnte helfen!
@Leseratte: Habe bis jetzt nur gewusst, wie man in Java eine Boolean-Variable negiert, deine Methode ist um einiges effektiver, danke für den Hinweis
MfG,
X-Zat / Momo