Noozer,
In addition to Herfried's comments.
When using the bitmap as Herfried suggested I normally resize the bitmap in
the Resize event (read create a new bitmap). Of course this can cause you to
loose the existing bitmap. You can either draw the existing onto the new
one, or simply allow a "blank" slate to be used.
Alternatively rather then "drawing on the form" I will store the information
that needs to be drawn in an object model, then in the Paint event (OnPaint
method) I call methods within this object model that cause it to be drawn.
This separates your data from the presentation, also if done carefully
enough allows you to present the info on the screen, a printer, or a bitmap.
The bitmap can then be stored in a database, sent over the internet, saved
in a file...
Of course this object model I can save to be reloaded later...
Hope this helps
Jay