Lauflicht zeichen



  • Hallo zusammen,

    Halo ich habe schon überall gesucht(Web, Literatur, MSDN und auch hier im Forum) aber ich kann nichts finden. Ich bin neu im Programmieren. Ich habe folgendes Problem:
    Ich habe eine Grafik(Bitmap) in eine Picturebox geladen und möchte nun ein Viereck (genauer ein 1Pixel großes Viereck darüber laufen lassen. Es soll so aussehen wie ein Lauflicht und die schon gezeichneten Pixelvierecke sollen nach einer Kurzen Pause (Thread::Sleep) wieder verschwinden. Bei mir bleiben die immer im Bild und ich muss diese neu überzeichnen. Bei meinem Bitmap sind aber Farbverläufe und es fällt auf wenn die Pixelvierecke noch da sind. Ich bekomme es einfach nicht hin. Wenn mir jemand helfen könnte, wäre das riesig.

    schon im voraus vielen dank für Eure Mühen.



  • Hallo,

    da kann ich dich nur auf [Tutorial] Zeichnen in Windows-Forms-Programmen (Paint/OnPaint, PictureBox) hinweisen, wo alles Relevante drinsteht (s.a. den zweiten Beitrag von herbivore bzgl. Animationen - d.h. die richtige Vorgehensweise ist die Benutzung des Timer-Controls!).

    PS: Niemals Thread.Sleep() mit WinForms benutzen, da du damit die GUI blockierst...

    PPS: Und statt C++/CLI solltest du für WinForms besser C# benutzen (s.a. Windows Forms und Visual C++ MACHT KEINEN SINN!).



  • Hallo und Danke TH69,

    Der Timer Beitrag war gut und das werde ich bestimmt noch einbauen. Ich habe es erstmal anders gelöst, indem ich das Ganze in eine Schleife baue und dann immer pictureBox->Invalidate() benutze und das Ganze im Backgroundworker laufen lasse. Klappt soweit ganz gut und meine Form ist nicht blockiert. Leider kann ich kein C# benutzen, weil ich hier(Projekt) an C++ CLI gebunden bin.

    Bernd


Log in to reply