Question

Comment activer la mise en mémoire tampon double d'un contrôle à l'aide de C # (formulaires Windows)?

J'ai un contrôle de panneau dans lequel je dessine des éléments et également un contrôle d'onglets dessiné par le propriétaire. Les deux souffrent de scintillement, alors comment puis-je activer la double mise en mémoire tampon?

Était-ce utile?

La solution

Dans le constructeur de votre contrôle, définissez la propriété DoubleBuffered et / ou ControlStyle de manière appropriée.

Par exemple, j'ai un simple DoubleBufferedPanel dont le constructeur est le suivant:

this.DoubleBuffered = true;
this.SetStyle(ControlStyles.UserPaint | 
              ControlStyles.AllPaintingInWmPaint |
              ControlStyles.ResizeRedraw |
              ControlStyles.ContainerControl |
              ControlStyles.OptimizedDoubleBuffer |
              ControlStyles.SupportsTransparentBackColor
              , true);

Autres conseils

Utilisez la propriété DoubleBuffered, héritée de System.Windows.Forms.Control.

System.Windows.Forms.Form myForm = new System.Windows.forms.Form();
myForm.DoubleBuffered = true;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top