An example:
Using VS I can create MyControl which derives from UserControl, to this can be added a set of data as a member or property. Using the visual designer I can add a two panels to MyControl - each intended to render the same data but in a different form (FTSOA say a pie chart and a bar graph) using methods I intend to supply.
I think there are a number of approaches that will allow MyControl to use those methods to redraw the panels.
Firstly use VS to add a paint event for each panel. This is quick to implement and allows the methods access to MyControl data as they are created within the MyControl class.
Secondly to override the OnPaint method for each panel. AFAIK to do this requires creating a UserControl for each panel with the associated class. Then the OnPaint method of each class can be overridden. A downside is that each class has to be given access to MyControl data.
Thirdly it is also likely (I've not done this one) that overriding MyControl OnPaint and manually re-drawing each panel is also possible - but getting hold of the Graphics etc is an issue.
Question: I can get (1 & 2) to work, but I'd like to know what other people think.