Simply you'll have to draw everything you need in a single shot. I solved this myself by have a collection of some sort that holds all the objects to draw and to be drawn. If you drawing a new line, add the new lines specifications to this collection instead of actually drawing it.. When the paint event goes into action(by itself or directly by calling invalidate/refresh) it loops through this collection of objects to be drawn, and draws them as such.

Another method I've considered but have yet to try is copying the image your drawing to, then draw onto that image. Once you're done drawing to the stored image, simply place it back - replacing the original image.