Announcement

Collapse
No announcement yet.

Grafiken updaten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Grafiken updaten

    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

  • #2
    Ok, hab grad gemerkt, dass Invalidate() auch aus einem anderen Thread funktioniert.

    Comment


    • #3
      Du kannst auch andere Sachen aus einem anderen Thread heraus aufrufen. Du musst nur sicher stellen, dass die Funktion im Kontext des Windows Forms Threads aufgerufen wird

      Schau mal unter Form.Invoke(). So oder so ähnlich sollte es gehen.

      Comment

      Working...
      X