It sounds as you are using the wrong methods to draw on form, CreateGraphics perhaps? Use the Paint event instead (e.Graphics there) and whenever the refreshing happens (or you instruct it to) the correct painting will be done as you want it to.
As for your initial question, you can't prevent form from repainting. (except the temporary Suspend suggested)