public class DessinDansImage : PictureBox { // Bitmap dans lequel sera dessiné l'état du contrôle private Bitmap _ctrlBitmap; public DessinDansImage() { // Détermine comment l'image sera affiché dans le contrôle this.SizeMode = PictureBoxSizeMode.CenterImage; // Initialise l'état du contrôle _ctrlBitmap = null; UpdateImage(); } // Dessine l'état du contrôle public void UpdateImage() { // Crée le bitmap et ouvre l'objet Graphics _ctrlBitmap = new Bitmap( Width, Height ); Graphics graphics = Graphics.FromImage( _ctrlBitmap ); // Rempli le fond du bitmap graphics.FillRectangle( Brushes.White, ClientRectangle ); // Autre dessins.... ; // Libère l'objet Graphics graphics.Flush(); graphics.Dispose(); // Affiche l'image dans le contrôle this.Image = _ctrlBitmap; } // Lors d'un redimensionnement du contrôle protected override void OnResize( EventArgs e ) { base.OnResize( e ); // Met à jour l'état du contrôle UpdateImage(); } }