2D Graphics C#

using System;
   using System.Drawing;
   using System.ComponentModel;
   using System.Windows.Forms;
   public class Painter : System.Windows.Forms.Form
   {
      bool shouldPaint = false;
      public Painter()
      {
         this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
         this.ClientSize = new System.Drawing.Size(400, 400);
         this.MouseDown +=new System.Windows.Forms.MouseEventHandler(this.Painter_MouseDown );
         this.MouseUp +=new System.Windows.Forms.MouseEventHandler(this.Painter_MouseUp );
         this.MouseMove +=new System.Windows.Forms.MouseEventHandler(this.Painter_MouseMove );
      }
      
      [STAThread]
      static void Main() 
      {
         Application.Run( new Painter() );
      }
      private void Painter_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e )
      {
         shouldPaint = true;
      }
      private void Painter_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e )
      {
         shouldPaint = false;
      }
      protected void Painter_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e )
      {
         if ( shouldPaint )
         {
            Graphics graphics = CreateGraphics();
            graphics.FillEllipse(new SolidBrush( Color.Black ),e.X, e.Y, 10, 10 );
         }
      }
   }