Suppression d'un graphe

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

  • Votes
  • Date
  • Date décroissante
  1. 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.
    1. vous voulez dire que , quand je supprime le rectangle revient à supprimer les informations de ce dernier de la liste??????
      1. Oui, exactement, et comme cela vous pouvez redessiner l'image de la picturebox.
        1. 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()
          1. Je pense que c'est cela, je n'ai pas les fonctions C# en tête, excusez-moi.
            1. j'ai essayé avec la liste mais ça ne se disparaître pas de pictureBox :(
              1. Pour la faire disparaître il faut redessiner tous les pixels, si cela ne fonctionne toujours pas montrez-moi votre code.
                1. 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);
                  }

                  }
                  1. 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.