GUI Windows Forms C# Tutorial

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
public class FontDialogDisplay : System.Windows.Forms.Form
{
  private System.ComponentModel.Container components = null;
  private System.Windows.Forms.FontDialog fontDlg = new System.Windows.Forms.FontDialog();    
  private Font currFont = new Font("Times New Roman", 12);
  public FontDialogDisplay()
  {
    InitializeComponent();
  }
  protected override void Dispose( bool disposing )
  {
    if( disposing )
    {
      if (components != null) 
      {
        components.Dispose();
      }
    }
    base.Dispose( disposing );
  }
  private void InitializeComponent()
  {
    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    this.ClientSize = new System.Drawing.Size(292, 273);
    this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.FontDialogDisplay_MouseUp);
    this.Paint += new System.Windows.Forms.PaintEventHandler(this.FontDialogDisplay_Paint);
  }
  [STAThread]
  static void Main() 
  {
    Application.Run(new FontDialogDisplay());
  }
  private void FontDialogDisplay_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
  {
    Graphics g = e.Graphics;
    g.DrawString("Testing...", currFont, new SolidBrush(Color.Black), 0, 0);  
  }
  private void FontDialogDisplay_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
  {
    if (fontDlg.ShowDialog() != DialogResult.Cancel)
    {
      currFont = fontDlg.Font;
      Invalidate();
    }
  }
}