Suppression d'un graphe
mmerry
Messages postés
7
Statut
Membre
-
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
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
-
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. -
vous voulez dire que , quand je supprime le rectangle revient à supprimer les informations de ce dernier de la liste??????
-
Oui, exactement, et comme cela vous pouvez redessiner l'image de la picturebox.
-
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() -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Je pense que c'est cela, je n'ai pas les fonctions C# en tête, excusez-moi.
-
-
j'ai essayé avec la liste mais ça ne se disparaître pas de pictureBox :(
-
Pour la faire disparaître il faut redessiner tous les pixels, si cela ne fonctionne toujours pas montrez-moi votre code.
-
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);
}
} -
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. -