Probleme avec la class Graphics

Résolu
Signaler
Messages postés
65
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
25 mars 2010
-
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
-
Bonjour,





Je ne
vois pas trop comment expliquer mon probleme …
Un panel peut contenir plusieurs controles. Ces dernierson comme coordonnee celui du panel (et le panl a comme coordonnee celui de la Forms)…  Bon alors je voudrais faire pareil lorsque je
declare une nouvelle class
"System.Drawing.Graphics
". Je voudrais mettre des rectangles, du textes etc dans
cette classe et pouvoir la remettre dans une autre class "

Graphics



" …
J’espere
que j’ai été clair .. Comment
faire ?






 

Merci 

1 réponse

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
41
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 );
        }
    }
}