Mostrar imagen sin parpadeo

19/10/2003 - 19:12 por Gandalf | Informe spam
Hola, estoy haciendo un clon del buscaminas y me encuentro con un molesto
parpadeo al dibujar. Estoy utilizando un mapa de bits oculto y en el evento
paint lo muestro:

private void PintarPanel(object sender, PaintEventArgs pea)

{

Graphics grfx=pea.Graphics;

grfx.DrawImage(tablero,0,0);

}


¿Alguna idea de como solucinarlo? Por cierto, aunque el tamaño de la imagen
sea muy pequeño a veces también se ve el parpadeo de la imagen.He intentado
también mostrar sólo la parte de la imagen que cambia pero sigue más o menos
igual.

Un Saludo y Gracias.
 

Leer las respuestas

#1 Tristan
20/10/2003 - 01:34 | Informe spam
Ummm, el problema creo es que deberás solo repintar aquellas partes que
realmente se hayan modificado. Entre los parámetros del PaintEventArgs
dispondrás del área que debe ser redibujada (ClipRectangle), aunque de esa
parte se encargará windows, aunque una ayudita no le viene mal, eligiendo el
área a repintar.

Por otro lado, si utilizas refresh, el control se borra y se pinta entero,
pero puedes usar Invalidate y pasar un rectángulo, o incluso una región, de
forma que solo se repintará el área que necesites.

Espero que te sea de ayuda.

Juan Carlos Badiola
MVP - C#

Preguntas similares