Entwickler-Ecke

Multimedia / Grafik - Panel flackert! DoubleBuffered?!


Max064 - Do 29.07.10 15:52
Titel: Panel flackert! DoubleBuffered?!
Hi,

ich lass mit dem OnPaint Ereignis ständig mit draw neu zeichnen. Durch den DoubleBuffer= true wird die Geschwindigkeit sehr merklich gesteigert.

Nun möchte ich das ganze anstatt auf der Form auf einem Panel zeichnen lassen. Nur leider gibt es da diese Eigenschaft DoubleBuffer nicht. Deswegen flackert es total! Wie kann ich bei einem Panel die Zeichengeschwindigkeit erhöhen?

lg Max


Ralf Jansen - Do 29.07.10 16:22

DoubleBuffered ist üblicherweise in den Winforms Controls protected. Du musst also das Control ableiten, DoubleBuffered im Konstruktor setzen und dann eben dieses abgeleitete Control benutzen.

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
    public class MyLovelyPanel : System.Windows.Forms.Panel
    {
        public MyLovelyPanel()
        {
            this.DoubleBuffered = true;
        }
    }