Pausar el Repintado de Windows

08/07/2009 - 16:33 por Irak | Informe spam
Hola, Hice un control especial parecido a un grid que cuando refresco la
información carga todos los datos en otros controles contenedores y asi
sucesivamente. Funciona correctamente sin embargo a la hora de refrescar la
informacion, se muestra "espectacularmente" el repintado de mi grid. He
intentado trucos caseros como inhabilitar el control, desaparecerlo y
aparecerlo, pero nada... :-( Segun existen métodos como el BeginUpdate() y
EndUpdate() que tengo entendido se diseñaron para esto, pero no los tiene el
control Panel (que es donde se agregan dinámicamente los controles).

Existe algun truco o forma para quitarle la "Espectacularidad" a mi
formulario durante el repintado?? ¿APIS? ¿Funcion .net?

Muchas gracias, como siempre

Datos del Hardware
PC Intel 3 Nucleos
4 GB Ram
Windows Vista Ultimate
Visual Studio 2008
C#
 

Leer las respuestas

#1 RFOG
08/07/2009 - 17:40 | Informe spam
¿Sacas los datos mientras pintas? La forma correcta es, una vez tienes lo
que vas a pintar (calculado, traído de donde sea, etc), hacer un
invalidate y junto pintar en el evento OnPaint.

De todos modos, con técnicas de doble buffer se suele minimizar todo esto.
Echale un vistado a esta entrada de mi blog:
http://geeks.ms/blogs/rfog/archive/...panel.aspx

On Wed, 08 Jul 2009 16:33:01 +0200, Irak
wrote:

Hola, Hice un control especial parecido a un grid que cuando refresco la
información carga todos los datos en otros controles contenedores y asi
sucesivamente. Funciona correctamente sin embargo a la hora de refrescar
la
informacion, se muestra "espectacularmente" el repintado de mi grid. He
intentado trucos caseros como inhabilitar el control, desaparecerlo y
aparecerlo, pero nada... :-( Segun existen métodos como el
BeginUpdate() y
EndUpdate() que tengo entendido se diseñaron para esto, pero no los
tiene el
control Panel (que es donde se agregan dinámicamente los controles).

Existe algun truco o forma para quitarle la "Espectacularidad" a mi
formulario durante el repintado?? ¿APIS? ¿Funcion .net?

Muchas gracias, como siempre

Datos del Hardware
PC Intel 3 Nucleos
4 GB Ram
Windows Vista Ultimate
Visual Studio 2008
C#






Microsoft Visual C++ MVP => http://geeks.ms/blogs/rfog
El amor sin admiración solo es amistad.

Preguntas similares