WinForms a panel s double-bufferingem
- 10. Listopad 2010
- Napište komentář
Potřebujeme-li ve WinForms vícenásobně překreslovat panel, setkáme se s největší pravděpodobností s blikáním našeho kresleného obrazu. Je to způsobeno tím, že obraz se vykresluje postupně a navíc relativně pomalu. Abychom se tomu vyhnuli musíme použít double buffering.
Vydědíme si tedy z panelu novou třídu, která bude mít double buffering aktivovaný a budeme ji používat namísto původního panelu.
{
public DoubleBufferedPanel()
{
this.DoubleBuffered = true;
this.SetStyle(ControlStyles.DoubleBuffer |
ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint, true);
this.UpdateStyles();
}
}