Comment faire pour effacer le panneau de la carte graphique en c#?

J'ai utilisé grahics dans un panneau. Au début du programme, je dessine quelques points dans le panneau et après que j'ai envie de dessiner des lignes reliant ces points. Le problème est quand je presse le bouton tab les graphismes créés disparaissent (mais cela arrive une fois dans le programme). Un autre problème est que je veux effacer le panneau, j'ai utilisé le code suivant pour clear panel:

Panel1.Invalidate();

Mais cela n'efface les lignes mais pas ces points qui ont été initialement créé. Est-ce quelqu'un a une solution simple parce que je ne veux pas recréer le panneau.

Détail technique: pour dessiner des points de départ dans le panneau, peinture à l'événement de panel1 est utilisé:

Graphics gfx = e.CreateGraphics()

Pour les lignes, il y a un seprate fonction qui est appelée lors du clic sur le bouton et que j'ai utilisé:

Graphics gfx = Panel1.CreateGraphics();

Un autre bouton qui est utilisé pour clear panel a code suivant:

Panel1.invalidate();

mais il n'efface que la ligne graphique, pas ces points de départ.

  • Si vous dessiner directement sur le Panneau à l'aide du Panneau.CreateGraphics(), vous ne pouvez pas nettoyer facilement. Avez-vous pensez à utiliser le Panneau.Paint() de l'événement est encore?
  • je dessine point dans la peinture en cas de panel1 et utiliser des Graphiques gfx = e.CreateGraphics(). Pour les Lignes je les Graphiques de l'utilisateur gfx = Panel1.CreateGraphics(); et à clear panel-je utiliser Panel1.invalidate(); mais il n'efface que le graphique de la ligne de ne pas les points.