You will find it necessary at times to use the techniques discussed in this hour to draw to a form. However, you might recall from earlier hours that when you draw to a form (actually, you draw to a Graphics object that references a form), the things that you draw aren't persisted; the next time the form paints itself, the drawn elements will disappear. If the user minimizes the form or obscures the form with another window, for example, the next time the form is painted it will be missing all drawn elements that were obscured. You can use a couple of approaches to deal with this behavior:
If you're drawing only a few items, placing the drawing code in the Paint event might be a good approach. However, consider a situation in which you have a lot of drawing code. Perhaps the graphics are drawn in response to user input, so you can't re-create them all at once. In these situations, the second approach is clearly better. |