Comment éviter le scintillement de l'écran lors de l'affichage d'un formulaire avec des contrôles dessinés par l'utilisateur?
-
03-07-2019 - |
Question
Ainsi, le ??problème de fond transparent est résolu . Maintenant, chaque fois que je montre le formulaire (ou que je dois le repeindre), j'ai beaucoup de scintillement. Est-il possible que je ne puisse pas mettre à jour l'écran tant que l'événement de peinture n'est pas terminé, ou de toute autre manière pour arrêter la demi-seconde de scintillement et de clignotement lorsque tous les objets sont en train d'être peints?
RÉPONSE : la double mise en tampon est la voie à suivre. J'étais déjà en double tampon sur le contrôle, mais cela doit être défini sur le formulaire. Je pensais que le double tamponnage ne fonctionnait que lorsque vous sous-classiez OnPaint.
La solution
Avez-vous essayé de définir les DoubleBuffered pour le formulaire?
Autres conseils
La double mise en mémoire tampon pourrait vous aider. Une autre chose que vous pouvez essayer est:
SuspendLayout ();
dostuffhere ...
ResumeLayout ();
Définissez la propriété DoubleBuffered sur le formulaire.