Actualmente estoy trabajando en un programa que usa una estructura bastante compleja de controles winform anidados que cambia dinámicamente a medida que el usuario realiza determinadas selecciones. Para entrar en más detalles sobre el diseño específico de los controles sería extenso para esta pregunta.Cómo solucionar problemas de parpadeo del control winform anidado
Cuando se realiza una selección, se realizan muchas actualizaciones en el modelo subyacente controlado por los controles del usuario. Esto da como resultado una serie de cambios correspondientes en el tamaño/posición/visibilidad de los controles mostrados. Todos estos cambios producen un parpadeo dolorosamente intenso de los controles en la pantalla. Necesito arreglar esto de alguna manera para que cada vez que el usuario haga una selección, la pantalla quede congelada hasta que se completen todas las actualizaciones de control.
He intentado utilizar los métodos Control.SuspendLayout/Control.ResumeLayout en muchos lugares y formas diferentes y no puedo eliminar el parpadeo loco. Pensé que suspender el diseño en el control raíz durante los cambios solucionaría el problema, pero parece que este SuspendLayout no ayuda cuando se cambian los controles secundarios.
¿Debo utilizar algún otro enfoque en lugar de SuspendLayout? ¿Hay alguna manera de que pueda depurar SuspendLayout para ver por qué no parece estar en cascada para todos los controles secundarios?
esta respuesta funcionó para mí http://stackoverflow.com/questions/487661/how-do-i-suspend-painting-for-a-control-and-its-children – wal