Um das Flimmern durch Doppelpuffer zu reduzieren: SetStyle vs. Überschreiben von CreateParam

Kann jemand den Unterschied und die Beziehung zwischen @ erklär

SetStyle(ControlStyles.UserPaint |
         ControlStyles.AllPaintingInWmPaint |
         ControlStyles.DoubleBuffer, true)

un

protected override CreateParams CreateParams
{
    get
    {
        CreateParams cp = base.CreateParams;
        cp.ExStyle |= 0x02000000;  // Turn on WS_EX_COMPOSITED
        return cp;
    }
}

Sie müssen Flimmern reduzieren, aber wann und wie werden sie richtig eingesetzt? Können sie einzeln verwendet werden oder müssen sie paarweise verwendet werden und was ist der Grund dafür?

Vielen Dank

Credits:

Das erste Code-Snippet wurde aus @ zitieMSDN page; das zweite Code-Snippet wurde auf @ gefundWie zu beheben, das Flackern in Benutzersteuerelementen, der ursprüngliche Autor ist @ HansPassant.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage