Comment activer la mise en double tampon d'un contrôle à l'aide de C # (Windows Forms)?
-
03-07-2019 - |
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?
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
quelques informations ici:
Comment doubler les contrôles .NET en mémoire tampon sur un formulaire?
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;