Laden...

Gezeichnete Figur in Windows Forms über den Bildschirm bewegen

Erstellt von inst vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.956 Views
I
inst Themenstarter:in
6 Beiträge seit 2009
vor 14 Jahren
Gezeichnete Figur in Windows Forms über den Bildschirm bewegen

Hi,

Ich möchte eine Figur in windows Forms in einer Picture Box über den Bildschirm bewegen.

Ich hatte hier schon einmal einen Beitrag erstellt.
In diesem wurde mir geraten, die Tastenabfrage mit einem Eventhandler mit KeyPress zu machen.

Doch nun benötige ich eine Endlosschleife, da bei mir alle Methoden aufgerufen werden, wenn eine Taste gedrückt wird. Diese sollen aber auch aufgerufen werden, wenn keine Taste gedrückt ist.

2.223 Beiträge seit 2005
vor 14 Jahren

Hallo inst,

könntest Du ein wenig mehr dazu schreiben was du vorhast?

denn ich glaube das was du willst hat mit einer Endlosschleife wenig zu tun.

Eine Endlosschleife ist zb soetwas


while(true)
     MacheEtwas();

Herzliche Grüße
Lars

2.921 Beiträge seit 2005
vor 14 Jahren

Andere Idee:

Paint Event benutzen und Timer...

Im Timer setzt du dann die Koordinaten der Figur. Wenn der Timer abgelaufen ist, rufst Du jeweils invalidate auf (Timer_Tick), im Paint-Event zeichnest Du die Figur.

Fertig.

Wenn Du die Tasten benötigst, definierst Du Dir dafür ebenfalls (falls benötigt) Variablen.
Ansonsten einfach im entsprechenden Key-Event die Koordinaten wie gewünscht umändern.

s. dazu auch

[Tutorial] Zeichnen in Windows-Programmen (Paint/OnPaint, PictureBox)
[Tutorial] Gezeichnete Objekte mit der Maus verschieben

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo inst,

eine PictureBox ist eher für statische Inhalte gedacht und daher für dein Problem das Falsche.

Was mich wundert. Ich hatte schon beim letzten Mal auf [Artikel] Zeichnen in Windows-Programmen verwiesen. Und da ist ja ein Animationsbeispiel drin. Das kannst du doch ohne weiteres als Basis verwenden.

Vergiss auf jeden Fall die Endlosschleife.

herbivore