Bonjour,
J'ai écrit un petit bout de code qui met en jeu pas mal de contrôles qui se déplace dans un Panel. J'ai une boucle qui s'occupe de déplacer chaque contrôle selon un ordre précis.
(je reste volontairement flou dans l'application parce que c'est pas vraiment nécessaire de décrire complètement le fonctionnement de mon truc qui pour l'heure, ne sert à rien)
Parce que contrôles sont redessinés les uns après les autres, il y a un espèce de sintillement qui me déplait pas mal. J'avais eu l'idée de faire un SuspendLayout(); et un ResumeLayou(); mais cela n'empêche rien.
Ce que je cherche à faire maintenant c'est de surcharger la méthode qui s'occupe de redessiner mon panel et ses enfants le temps de déplacer l'ensemble de mes objets. Après quoi je lance un petit Invalidate();
Je n'ai pas trouvé comment surcharger cette méthode. Je n'ai d'ailleurs pas trouvé de quelle méthode il s'agit.
Dans l'idée ce serait de faire quelque chose comme ça:
Avez-vous une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 bool _suspendRePaint = false; void RedispositionDesControles() { _suspendRePaint = true; [...] _suspendRePaint = false; } override void RePaint() // Methode système don't j'ignore l'existence. { if(_suspendRePaint) return; else base.RePaint() }
Partager