2D Graphics C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
public class Form1 : Form
{
   bool shouldPaint = false;
   public Form1() {
       InitializeComponent();
   }
   private void PainterForm_MouseDown( object sender, MouseEventArgs e )
   {
      shouldPaint = true;
   }
   private void PainterForm_MouseUp( object sender, MouseEventArgs e )
   {
      shouldPaint = false;
   }
   private void PainterForm_MouseMove( object sender, MouseEventArgs e )
   {
      if ( shouldPaint )
      {
         Graphics graphics = CreateGraphics();
         graphics.FillEllipse(new SolidBrush( Color.BlueViolet ), e.X, e.Y, 4, 4 );
         graphics.Dispose();
      }
   }
  private void InitializeComponent()
  {
     this.SuspendLayout();
     this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
     this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
     this.ClientSize = new System.Drawing.Size(184, 180);
     this.Name = "PainterForm";
     this.Text = "Painter";
     this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.PainterForm_MouseDown);
     this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.PainterForm_MouseUp);
     this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.PainterForm_MouseMove);
     this.ResumeLayout(false);
  }
  [STAThread]
  static void Main()
  {
    Application.EnableVisualStyles();
    Application.Run(new Form1());
  }
}