Workaround a "arreglo unas, rompo otras", o cómo evitar que el background de una ficha se vaya de viaje con el SP1

Las prisas y el mucho trabajo me han impedido publicar una solución alternativa al bug comentado en este post, y también tiene que ver el estress para determinar si iba a finalizar a tiempo el proyecto que llevo entre manos, recogido de un gabinete de ingeniería con pocas luces y menos ganas de trabajar. En fin, que visto el final a lo que estoy haciendo (he estado unas 12-14 horas/días, sábados y domingos incluídos -y sí, estos días de fiesta también) y no sólo voy a llegar a tiempo, sino con una semana de anticipo, es ahora cuestión de tomarnos las cosas con más calma.


Lo curioso del fallo no es el problema en sí, sino cómo se presenta. Tenemos una ficha que se ve bien, y tras unos segundos, parpadea y el fondo se corrompe. ¿Quizás cuando entra el recolector de basura? ¿La segunda pasada para re-optimizar el código? La cuestión es que ocurre algo dentro de la máquina virtual .NET que no me gusta un pelo, pero parece ser que ese es el único efecto secundario. Veremos cuando mi aplicación lleve unos meses en la calle.


Bueno, la solución es sencilla y directa: coge un componente PictureBox, sueltalo sobre la ficha y pon su Dock a Fill. A la hora de trabajar con el pintado de la ficha, en lugar de operar sobre ella, debemos hacerlo sobre el componente PictureBox. Menos mal que dicho componente trae casi los mismos eventos que la propia ficha y no presenta el bug descrito.


 Y a ver si nos relajamos un poco (lo digo pro mi mismo).


Saludos a todos y espero que estéis pasando unas felices fiestas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *