Tienes la aplicación mal diseñada.¡ Excelente Juan !
Cambios sugeridos:
1- Crea un arreglo de las cosas que se dibujan en pantalla, por ejemplo vas guardando que cuadros o elipses se deben dibujar en que posiciones etc
2- Luego en el evento paint lo que haces es recorrer ese arreglo y pintar los cuadros
3- Para que el evento paint te funcione debes usar el PaintEventArgs:Código: Text
Graphics gr; private void pbDibujo_Paint(object sender, PaintEventArgs e) { gr = e.Graphics;