C#, Maus nach unten Bewegen?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Wie du das mit der Kontrolle löst, musst du entscheiden. Den Mauszeiger kannst du mit der Cursor.Position Property positionieren. Im Beispiel unten wird die X und Y Position um -50 Pixel verändert.

private void MoveCursor()
{
   this.Cursor = new Cursor(Cursor.Current.Handle);
   Cursor.Position = new Point(Cursor.Position.X - 50, Cursor.Position.Y - 50);
   Cursor.Clip = new Rectangle(this.Location, this.Size);
}

Ich würde dir empfehlen einen Loop zu machen und je nach dem, wie schnell die Maus nach unten geht, die Schritte zwischen den Änderungen zu vergrössern / verkleinern. In deinem Fall müsstest du den Zeiger in -Y bewegen.


PWolff  09.07.2018, 11:31

Statt Loop würde ich einen Timer nehmen. Do-Nothing-Loops sind eins von den Dingen, die man nur unter sehr, sehr speziellen Umständen überhaupt in Erwägung ziehen sollte.

1
Gaterde  09.07.2018, 12:11
@PWolff

Habe ich nach dem Kommentar von regex9 auch gemerkt. Macht eindeutig mehr Sinn ^^

0
PWolff  09.07.2018, 11:33

@Agiger03: Mein Hass wäre deiner Anwendung sicher. Ich bin der Ansicht, DAS IST MEIN GUI! Das soll MIR die Arbeit erleichtern!

Außerdem, was machst du, wenn der Anwender dem Betriebssystem-GUI verboten hat, auf solche unverschämten Anforderungen von Anwendungen zu reagieren?

1

Du arbeitest doch mit Windows Forms? Schau hier: Cursor.Position. Die Geschwindigkeit lässt sich über einen Timer regeln, der in von dir bestimmten Intervallen die Positionsänderung um einen Schritt vollführt.


verreisterNutzer  09.07.2018, 09:20

Das ist doch ein direktes Verschieben zu der Position, oder?

Wie die Antwort von Gaterde.

Muss ich mal gucken, ob ich damit was anfangen kann.

1
Gaterde  09.07.2018, 09:24
@verreisterNutzer

Es gibt immer nur ein "direktes" Verschieben ;) Aber wenn du alle 0,5 Sekunden den Cursor um ein Pixel nach unten verschiebst, hast du eine lineare Verschiebung nach -Y :)

1
verreisterNutzer  09.07.2018, 09:26
@Gaterde

Ich werde das jetzt mal Umsetzen. Ich hoffe, dass das nicht zu viel Leistung sauft, wenn das immer wieder gemacht wird, wenn man die linke Maustaste drückt^^

0