i think each element in flowchart is a object(class/customcontrol) within a rectangle area and it paint itself if needed. like a usercontrol in vb6.
each need a position,size,typ,sort order
a state visible,enabled,focus,selected
& ability to move & text change via input
if you think about painting only i would put all (objects) into a list so
you can use for each to draw all into a panel or testing click inside.
i made an example of drawing a speak bubble into a panel.