Réponse acceptée !
Salut, la classe Graphics permet de dessiner mais ce n'est pas un conteneur, elle ne peut pas maintenir les coordonnées de tes rectangles. C'est à toi de créer une classe conteneur avec une liste de rectangles enfants, et à chaque fois qu tu dessines un rectangle enfant tu ajoutes à sa position X et Y la position X et Y de son parent.
Ca donne quelque chose comme ça, à toi d'améliorer :
public class MyRect
{
public Rectangle Rect = Rectangle.Empty;
public List< MyRect > Children = new List< MyRect >( );
public void Draw( Graphics g )
{
Draw( g, 0, 0 );
}
private void Draw( Graphics g, int x, int y )
{
int posX = x + Rect.X;
int posY = y + Rect.Y;
g.DrawRectangle( Pens.Black,
new Rectangle( posX, posY, Rect.Width, Rect.Height ) );
foreach( MyRect r in Children )
{
r.Draw( g, posX, posY );
}
}
}