[CF2.0] OnPaint pour un rendu dans un bitmap
Bonjour à tous,
Voilà mon problème : j'aimerais, à des fins de caching, enregistrer dans un bitmap le rendu d'un UserControl (contenant des sous-contrôles).
J'ai bien tenté de surcharger la méthode OnPaint comme-ci :
Code:
1 2 3 4 5
| this.layoutBitmap = new Bitmap(e.ClipRectangle.Width, e.ClipRectangle.Height);
Graphics graphic = Graphics.FromImage(this.layoutBitmap);
PaintEventArgs args = new PaintEventArgs(graphic, e.ClipRectangle);
base.OnPaint(args);
this.layoutBitmap.Save(PathEx.PrefixWithExePath("layout.png"), ImageFormat.Png); |
En gros, je change l'évènement qui contient un Graphics sur un Bitmap. Je pensais que le base.OnPaint() allait continuer la cinématique du rendu mais en fait non. En plaçant un point d'arrêt dans la même méthode d'un sous-contrôle, je me suis aperçus qu'elle était appelée après celle de mon UserControl.
Merci de votre attention.