¿Cómo habilito el almacenamiento en búfer doble de un control usando C # (formularios de Windows)?
-
03-07-2019 - |
Pregunta
¿Cómo habilito el almacenamiento en búfer doble de un control utilizando C # (formularios de Windows)?
Tengo un control de panel en el que estoy dibujando cosas y también un control de pestaña dibujado por el propietario. Ambos sufren de parpadeo, entonces, ¿cómo puedo habilitar el doble búfer?
Solución
En el constructor de su control, establezca la propiedad DoubleBuffered y / o ControlStyle de forma adecuada.
Por ejemplo, tengo un DoubleBufferedPanel simple cuyo constructor es el siguiente:
this.DoubleBuffered = true;
this.SetStyle(ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint |
ControlStyles.ResizeRedraw |
ControlStyles.ContainerControl |
ControlStyles.OptimizedDoubleBuffer |
ControlStyles.SupportsTransparentBackColor
, true);
Otros consejos
alguna información aquí:
Utilice la propiedad DoubleBuffered, heredada de System.Windows.Forms.Control.
System.Windows.Forms.Form myForm = new System.Windows.forms.Form();
myForm.DoubleBuffered = true;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow