Comment supprimer un cercle dessiné dans windows en c# forme?

J'ai dessiné un cercle dans un formulaire windows

Pen pen = new Pen(Color.Black, 3);
Graphics gr = this.CreateGraphics();
gr.DrawEllipse(pen, 5,5,20,20);

La façon de le supprimer...

  • Soit utiliser des Graphiques.Clear() avec la couleur désirée, utilisez la logique que j'ai posté une réponse, ou de l'effectuer.Invalidate(). Le dernier sera tout simplement la force de la forme de redessiner c'est la zone client qui aura pour effet de supprimer le cercle.
  • Puisque vous utilisez this.CreateGraphics, vous n'êtes probablement pas ce dessin dans la Peinture de l'événement. Cela signifie que chaque fois que votre formulaire est redessiné (soit parce que vous appelez la Invalidate méthode ou parce que Windows envoie un WM_PAINT message), votre cercle sera effacé de toute façon. Si vous voulez le cercle à semi-permanent (au moins rester jusqu'à ce que vous avez explicitement l'effacer), vous devez vous assurer que vous l'attirer dans la Peinture de gestionnaire d'événements pour votre formulaire, à l'aide de l'objet Graphique qui est passé dans le PaintEventArgs pour l'événement.
  • Il vous suffit de réduire la fenêtre et de le restaurer à nouveau.
InformationsquelleAutor Genius | 2010-11-08