einfache Grafik zeitversetzt anzeigen

  • VB.NET
  • .NET (FX) 4.0

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von PowerBauer.

    einfache Grafik zeitversetzt anzeigen

    Hallo,

    ich habe folgendes kleine Programm: 12 Punkte werden in einer Picturebox angezeigt:

    For i = 1 To 12
    Using g = Graphics.FromImage(ZeichenFlaeche.Image)
    g.FillEllipse(Brushes.Brown, xm(i), ym(i), 8, 8)
    End Using
    'Ergebnis anzeigen
    ZeichenFlaeche.Invalidate()
    Next
    Das klappt auch - jetzt möchte ich gerne diese Punkte nacheinander angezeigt bekommen, sagen wir im Abstand von 100ms. Hab schon versucht eine Zeile mit:
    Threading.Thread.sleep(100) einzubauen - das funktioniert aber auch nicht -

    jmd eine Idee?
    Hallo

    PowerBauer schrieb:

    das funktioniert aber auch nicht

    Kann es auch nicht, da du das Ergebniss erst siehst wenn alles fertig ist da du ja im UI Thread zeichnest.

    Ich würde es mit einem Timer machen den ich starte um das "Zeichnen" zu beginnnen und beende wenn alle Punkte gezeichnet wurden.
    Jetzt solltest du genug Stichwörter haben um hier weiter zu kommen.

    PS: Bitte setze Code immer in einen CodeTag.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Ja.
    1. 12x g per Using neu zu erzeugen, ist ineffizient.
    2. Du hast >= 2 Möglichkeiten: 1. Timer verwenden, 2. nicht Invalidate(), sondern Refresh() verwenden
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.