2D Graphics C# Tutorial

using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
   
class WhatSize: Form
{
     public static void Main()
     {
          Application.Run(new WhatSize());
     }
     public WhatSize()
     {
          Text = "What Size?";
          ResizeRedraw = true; 
     }
     protected override void OnPaint(PaintEventArgs pea)
     {
          DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height);
     }     
     protected void DoPage(Graphics grfx, Color clr, int cx, int cy)
     {
          Brush brush = new SolidBrush(clr);
          int   y     = 0;
   
          DoIt(grfx, brush, ref y, GraphicsUnit.Millimeter);
     }
     void DoIt(Graphics grfx, Brush brush, ref int y, GraphicsUnit gu)
     {
          GraphicsState gs = grfx.Save();
   
          grfx.PageUnit  = gu;
          grfx.PageScale = 1;
   
          SizeF sizef = grfx.VisibleClipBounds.Size;
   
          grfx.Restore(gs);
   
          grfx.DrawString(gu+ ": " + sizef, Font, brush, 0, y);
          y += (int) Math.Ceiling(Font.GetHeight(grfx));
     }
}