Hiho,
Angenommen, ich will eine kleine Animation erstellen, bei der verschiedene Objekte auf einem Panel rumfahren.
Was ist nun die bevorzugte Methode um das Panel kontinuierlich neu zu zeichnen? Hab des Öfteren gesehen, das direkt in der Paint() Methode am Schluss ein Invalidate() aufgerufen wird, was ich aber äusserst unelegant und unzuverlässig finde.
In Java hatte ich dazu einen separaten Thread erstellt, der das Panel alle 10ms neu zeichnet, nur scheint das hier nicht zu funktionieren, da kein fremder Thread auf das Panel zugreifen darf.
Ausserdem will ich, das der Rest des GUIs ansprechbar ist und nicht vom "Thread.Sleep(10)" des Panels geblockt wird.
Ich hoffe mein Problem ist verständlich.
MfG
irgendwer
Angenommen, ich will eine kleine Animation erstellen, bei der verschiedene Objekte auf einem Panel rumfahren.
Was ist nun die bevorzugte Methode um das Panel kontinuierlich neu zu zeichnen? Hab des Öfteren gesehen, das direkt in der Paint() Methode am Schluss ein Invalidate() aufgerufen wird, was ich aber äusserst unelegant und unzuverlässig finde.
In Java hatte ich dazu einen separaten Thread erstellt, der das Panel alle 10ms neu zeichnet, nur scheint das hier nicht zu funktionieren, da kein fremder Thread auf das Panel zugreifen darf.
Ausserdem will ich, das der Rest des GUIs ansprechbar ist und nicht vom "Thread.Sleep(10)" des Panels geblockt wird.
Ich hoffe mein Problem ist verständlich.
MfG
irgendwer
Comment