I'm making a plotting program. The panel (vs picturebox) is necessary because the data doesn't all fit into one screen so scrollbars are needed. I'm using graphics to draw the background layer and buttons for the data points.

When I scroll, the background is redrawn incorrectly since the top left corner of the panel is no longer the top left data point. Ideally, I'd like to prevent the background layer from redrawing entirely (after the initial draw). Alternatively, how do I take in consideration the new position of the scrolled panel in drawing the shapes & lines in the background layer?

Any general advice would be greatly appreciated!