Graphics flackert arg...

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von enIking1998.

    Graphics flackert arg...

    Ihr kenn sicher das Problem mit dem Graphics-Internen flackern.
    Heißt, dass Zeichnen eines Rectangles ausserhalb des Paint-Ereignis...

    Nun, ich versuche grade, ohne das Paint-Ereignis, 2 Rectangles gradeaus zu Animieren.
    Um keine Doppelbilder zu erhalten(Siehe Anhang),
    lösche ich den Screen durch

    VB.NET-Quellcode

    1. DrawGraphics.Clear(Me.BackColor)


    Damit flackert es arg.
    Mit DoubleBuffered = True, selbes Ergebnis...

    Und nochmal, nein, das ist ein Test, um das Flackern loszuwerden...
    Ich weiß es geht im Paint-Ereignis ...e.Graphics...
    Ich wills aber,

    VB.NET-Quellcode

    1. Dim DrawGraphics As Graphics


    Nur,will ich das ohne flackern zeichnen lassen.
    Mit einem Rectangle flackert es nicht.
    Beim 2. Rectangle schon...

    Hoffe auf Antworten.

    Mfg.eniking1998
    Bilder
    • Anhang.png

      18,91 kB, 794×154, 156 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „enIking1998“ ()

    Ich hoffe das Problem kennen die wenigsten, denn man zeichnet nicht außerhalb des Paint-Events.
    Das ist so und sollte auch so bleiben.

    Wenn du das zeichnen außerhalb einleiten willst, mach die entsprechende Objekte dafür, die dem Paint-Event klarmachen, was es zeichnen soll.
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Ist es möglich, aus einer Klassenbibleothek, auf das Paint-Ereignis der Form zuzugreifen?

    Besser,
    ist es möglich, das Paint-Ereignis in einer Klassenbibliothek zu nutzen, und das gezeichnete einer externen Form zu übergeben, der die DLL verwiesen hat?

    Ich versuch mich grade an einer Klassenbiblieothek die das Zeichnen für die Form übernimmt.
    Und die Rectangles im Paint-Ereignis (Dll-Intern) zeichnet und diese der Form übergibt...

    Das Problem hierbei, die Signatur zum Event steht...(Inerhit Form, klappt perfekt)
    Nur wie sende ich nun das e.Graphics Dll-Intern-gezeichnete einer extern(auf die DLL verwiesene) Form?

    Mfg.eniking1998

    VB.NET-Quellcode

    1. Sub Draw(g As Graphics)

    Mach solch eine Methode in deine Klasse und rufe diese dann aus dem Paint Event mit Draw(e.Graphics) auf.
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---