Comment réparer les problèmes de scintillement des contrôles winform imbriqués

Je suis actuellement en train de travailler sur un programme qui utilise une structure assez complexe de imbriquée winform contrôles qui change dynamiquement en tant qu'utilisateur effectue un certain nombre de sélections. Pour aller plus dans les détails au sujet de la disposition spécifique des contrôles pourrait être étendue pour cette question.

Quand une sélection est faite, beaucoup de mises à jour sont faites pour le modèle sous-jacent qui est contrôlé par les commandes de l'utilisateur. Cela entraîne ensuite une série de changements correspondants dans la taille/position/visibilité des commandes affichées. Tous ces changements ont des résultats dans un douloureusement intense scintillement de commandes sur l'écran. J'ai besoin de quelque sorte résoudre ce problème de manière que chaque fois que l'utilisateur effectue une sélection l'écran est fondamentalement gelé jusqu'à ce que le contrôle de la fin des mises à jour.

J'ai tenté d'utiliser le Contrôle.SuspendLayout/De Contrôle.ResumeLayout méthodes dans de nombreux endroits différents et des façons et je ne peux pas éliminer le fou de scintillement. Je pensais que la suspension de la disposition sur la racine de contrôle lors des changements de corriger le problème, mais il semble que ce SuspendLayout n'aide pas l'enfant que les contrôles soient modifiés.

Dois-je utiliser une autre approche, plutôt que de SuspendLayout? Est il possible que je peux debug SuspendLayout de voir pourquoi il ne semble pas être en cascade à tous les contrôles enfants?

source d'informationauteur TJ_Fischer