begin process at 2010 02 10 08:48:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

UserControl

 > 

Propriétés d'un objet graphique dans ArrayList


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Propriétés d'un objet graphique dans ArrayList

mardi 28 août 2007 à 10:44:30 | Propriétés d'un objet graphique dans ArrayList

hred1

Bonjour,
Mon application permet de dessiner des objets dans une frame.
Le but c'est de dessiner des cercles dans une région, puis récupérer leurs coordonnées dans la région en question.
Par exp :
Je dessine 10 cercle (objet), chaque cercle est stocké dans une ArrayList, et je cherche à récupérer les coordonnées de chaque objet suite à un événement (click, autres,...) afin de déplacer/supprimer l'objet cliqué.

J'espère que je suis claire

voici une partie de mon code :

événement dessiner :

privatevoid OnMouseDown(object sender, System.Windows.Forms.MouseEventArgs e)

{

       if (e.Button == System.Windows.Forms.MouseButtons.Left)

       {

             PointCourant = new Point(e.X, e.Y);

             if((Math.Pow((e.X-255.5),2)+(Math.Pow((e.Y-255.5),2)))<Math.Pow(242.5,2))

             {

                    sapinDoc.Add(new Forme(TypeForme,CouleurForme,new System.Drawing.Rectangle(PointCourant, TailleForme)));

                    Invalidate();

             }

       }

       elseif (e.Button == System.Windows.Forms.MouseButtons.Right)

       {

             PointCourant = new Point(e.X, e.Y);

             //Pointfinal = new Point(240,240);

             //Pointfinal =  new Point(Coor_d_ellipse.Rect.Location.X, Coor_d_ellipse.Rect.Location.X);

             foreach(Sapin.Forme forme in sapinDoc.listeFormes )

             {

                    if (forme.EstDans(PointCourant) == true)

                    {

                           //Déplacer la forme

                           //Redessiner la forme

                           contextMenu1.Show(Sapin.MainFrame.ActiveForm , PointCourant);

                          

                           Invalidate();

                           break;

                    }

             }

       }

 

}


autre classe :

publicclass Forme

       {

             private TypeFormeEnum typeForme;

             public  TypeFormeEnum TypeForme

             {

                    get

                    {

                           return typeForme;

                    }

                    set

                    {

                           typeForme = value;

                    }

             }

 

 

             private Color couleur;

             public Color Couleur

             {      get    {return couleur;}   set    {couleur =value;} }

 

             private System.Drawing.Rectangle rect;

             public System.Drawing.Rectangle Rect

             {      get {return rect;}  set {rect = value;}}

 

 

            

      

 

             public Forme (TypeFormeEnum typeF , Color co , System.Drawing.Rectangle re)

            

             {      TypeForme = typeF;

                    couleur = co;

                    rect = re;   }

 

             publicvoid Draw(System.Drawing.Graphics gr)

             {

                    System.Drawing.Pen pen = new System.Drawing.Pen (couleur);

 

                    switch(TypeForme)

                    {

                           case TypeFormeEnum.rectangle:

                                  gr.DrawRectangle(pen , rect);

                                  break;

                          

                           case TypeFormeEnum.ellipse:

                                  gr.DrawEllipse(pen , rect);

                                  SolidBrush brush = new SolidBrush(Color.LightSteelBlue);

                                  gr.DrawEllipse(pen,rect);

                                  gr.FillEllipse(brush,rect);

                                  break;

 

                           case TypeFormeEnum.triangle:

                           {

                                  Point[] pts =

                                        {

                                               new Point(rect.Left, rect.Bottom),

                                               new Point(rect.Right, rect.Bottom),

                                               new Point((rect.Left + rect.Right)/2, rect.Top)

                                        };

                                  gr.DrawPolygon(pen,pts);

                           }

                                  break;

                    }

                    pen.Dispose();

             }

 

             public  bool EstDans(Point p)

             {returnthis.rect.Contains(p);}

 

            

 

       }



autre classe :

publicclass DocumentSapin

{

       public ArrayList listeFormes;

       public ArrayList listeCoordonnees;

       public Point p;

       public DocumentSapin()

       {

             listeFormes = new ArrayList();

             listeCoordonnees = new ArrayList();

       }

 

       publicvoid Add(Forme forme)

       {

             if (listeFormes.Count<20)

             {listeFormes.Add(forme);

              listeCoordonnees.Add(forme.Rect.Contains(p));}

 

      

       }

 

       publicvoid Draw(System.Drawing.Graphics gr)

       {

             foreach (Sapin.Forme forme in listeFormes)

             {

                    forme.Draw(gr);

             }

       }

      

}





RED1


Cette discussion est classée dans : public, system, rect, forme, drawing


Répondre à ce message

Sujets en rapport avec ce message

transfere les donnés dune bases acces dans un fichier txt [ par kmbmaster ] bonjour ,je suis debutant en c# jaimerais pouvoir transfere les donnés dune base (accesss) dans un fichier texte mais je n'y arrive pas ! est ce qun Ajouter dynamiquement des composants graphiques [ par Sebulba ] Bonjourj'ai un thread qui doit créer un élément graphique sur la form pour pouvoir se représenter.mon problème est que je n'arrive pas à afficher une mdiChild et toolBox [ par ibr4u ] Bonjour, pour faire vite :J'ai une toolBar dans une Form Parent (formParent). J'ai deux Form filles rattachées à formParent (formFille1 et formFille2) Navigation dans datagrid et objet herite [ par Arthenius ] Voila mon Xeme pb du jour est de créer un objet herite des datagrid avec certaines fonctions notament qd l'utilisateur sur une colonne de mon datagrid System.OutOfMemoryException Image [ par crookah ] Bonjour, je me demande pk j'ai une System.OutOfMemoryException lors du chargement d'une image . private System.Drawing.Image imageEnCour; imageEnCour Serveur UDP [ par Sobieski ] Salut.Je voudrais printer dans la console ce qui arrive en UDP sur le port 4321. J'ai fait un bout de code mais ca plante comme il faut :/ using Syste Accès [ par fredza ] Bonjour et bonne année à toutes et tous,J'ai un fichier ip.cs voilà brièvement son contenu :namespace iprog{ /// /// Description résumée de ip. /// convertion "d'image" [ par myweb2004 ] Bonjours a tous !Je cherche comment faire pour convertir une image de type system.drawing.image en system.drawing.bitmap en memoire. Ou alors comment System.Drawing.Graphic ... refresh ? [ par dinytro ] Bonjour,je souhaite faire une horloge dans une frm qui contient déjà des infoJ'ai donc mis un panel et un pictureBox dedans avec pour ce dernier l'ima application qui freeze quand elle envoit un login au pop3 [ par warenbe ] bonsoirj'ai fais un petit bout de code qui me permet de verifier si j'ai des mails ou pasce n'est pas terminé mais l'application freeze quand j'essaye


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales