I am trying to draw some geometric objects on canvas which may overlap each others in an ordered they have been drawn in VC++.net (or VC#). It is simply done by drawing Rectangle or other related drawing methods in order. But the problem comes up when I try to move or delete one specific object between the overlapped ordered objects without affecting the appearance of other ordered overlap object! this is seems to be related to the concept of Object Oriented Programming for graphic programming which I expect to be doable in GDI+ but I couldn't find any related methods to do things like that. can anyone help how can I do this in GDI+ ?