Suppression d'un graphe

mmerry Messages postés 7 Statut Membre -  
mmerry Messages postés 7 Statut Membre -
salut tous le monde;
j'ai un projet de fin d'étude à faire , je travaille avec visual studio en c# , mon projet consiste à créer des rectangles dans une picturebox sur l'endroit du clic de la souris , mon problème est j'arrive pas à supprimer le rectangle sur le quel je Click .quelqu'un peut me donner une solution en c#
merci d'avance

11 réponses

  1. Mrrraou Messages postés 78 Statut Membre 4
     
    Bonjour,
    je vous conseille d'utiliser une liste dans laquelle vous ajoutez un objet Rectangle que vous avez créé au préalable contenant toutes ses informations.
    0
  2. mmerry Messages postés 7 Statut Membre
     
    vous voulez dire que , quand je supprime le rectangle revient à supprimer les informations de ce dernier de la liste??????
    0
  3. Mrrraou Messages postés 78 Statut Membre 4
     
    Oui, exactement, et comme cela vous pouvez redessiner l'image de la picturebox.
    0
  4. mmerry Messages postés 7 Statut Membre
     
    dans ce cas j'utilise une liste de type graphics a chaque fois que je crée un rectangle je fais Maliste.Add();
    pour supprimer je fais Maliste.RemoveAt()
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mrrraou Messages postés 78 Statut Membre 4
     
    Je pense que c'est cela, je n'ai pas les fonctions C# en tête, excusez-moi.
    0
  7. mmerry Messages postés 7 Statut Membre
     
    c'est pas grave et merci comme même ;)
    0
  8. mmerry Messages postés 7 Statut Membre
     
    j'ai essayé avec la liste mais ça ne se disparaître pas de pictureBox :(
    0
  9. Mrrraou Messages postés 78 Statut Membre 4
     
    Pour la faire disparaître il faut redessiner tous les pixels, si cela ne fonctionne toujours pas montrez-moi votre code.
    0
  10. mmerry Messages postés 7 Statut Membre
     
    le voici
    private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
    {
    if (i == 1)//si je click sur le premier boutton
    {
    SolidBrush brush1 = new SolidBrush(Color.Black);
    Pen p = new Pen(Brushes.Black);
    gimage.DrawRectangle(p, e.X, e.Y, 30, 5);
    gimage.FillRectangle(brush1, e.X, e.Y, 30, 5);
    copyimagetobuffer();
    afficherbuffer();
    image.Add(gimage);

    }
    if (i == 2)// si je click sur le deuxieme boutton
    {

    image.RemoveAt(0);
    }

    }
    0
  11. Mrrraou Messages postés 78 Statut Membre 4
     
    Il faut redessiner tous les rectangles un par un et afficher l'image, vous ne le faites pas dans votre code.
    Utilisez une boucle for pour cela.
    Faites-le après avoir retiré l'objet de la liste.
    0
  12. mmerry Messages postés 7 Statut Membre
     
    ok merci de votre aide ;)
    0