Comment puis-je doubler un panneau en C #?
J'ai un panneau qui a une roue de roulette sur elle, et j'ai besoin de double tampon le panneau, afin qu'il arrête de scintillement. Quelqu'un peut-il m'aider?
~T-Fox
EDIT:
Oui, j'ai essayé.
panel1.doublebuffered n'existe pas, seulement le présent.doublebuffered. Et je n'ai pas besoin de tampon de la Forme, juste le Panneau.
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Vous devez dériver à partir du Panneau ou de la PictureBox.
Il y a des ramifications à cette fonction de la façon dont vous choisissez d'activer la mise en mémoire tampon.
Si vous définissez la ce.DoubleBuffer drapeau, alors vous devriez être ok.
Si vous mettez à jour manuellement les styles, alors vous avez à peindre vous-même le formulaire en WM_PAINT.
Si vous vraiment sentir ambitieux, vous pouvez maintenir et de dessiner votre propre tampon d'arrière-plan en tant que Bitmap.
Une autre façon de le faire est d'appeler le membre doublebuffered, à l'aide de la InvokeMember méthode:
En le faisant de cette façon, vous n'avez pas à créer une sous-classe
Winform les panneaux ont une DoubleBuffered propriété.
Edit: je devrais avoir remarqué qu'il était protégé. D'autres ont décrit comment la sous-classe. 🙂
Vous pouvez faire la
DoubleBuffered
-public à la Propriété dans un derivided classe dePanel
: