GUI Windows Form C#

/*
GDI+ Programming in C# and VB .NET
by Nick Symmonds
Publisher: Apress
ISBN: 159059035X
*/
using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace PrintDialogs_c
{
    public class PrintDialogs : System.Windows.Forms.Form
    {
    private Image MyImage;
    private PrintDocument pd;
    private PrintPreviewDialog Preview;
    private System.Windows.Forms.Button cmdShow;
    private System.Windows.Forms.Label lblPrint;
        private System.ComponentModel.Container components = null;
        public PrintDialogs()
        {
            InitializeComponent();
      MyImage = Bitmap.FromFile(@"d:\colorbars.jpg");
      Preview = new PrintPreviewDialog();
      Preview.UseAntiAlias = true;
        }
        protected override void Dispose( bool disposing )
        {
            if( disposing )
            {
                if (components != null) 
                {
                    components.Dispose();
                }
            }
            base.Dispose( disposing );
        }
        #region Windows Form Designer generated code
        /// 
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// 

        private void InitializeComponent()
        {
      this.cmdShow = new System.Windows.Forms.Button();
      this.lblPrint = new System.Windows.Forms.Label();
      this.SuspendLayout();
      // 
      // cmdShow
      // 
      this.cmdShow.Location = new System.Drawing.Point(352, 344);
      this.cmdShow.Name = "cmdShow";
      this.cmdShow.Size = new System.Drawing.Size(72, 24);
      this.cmdShow.TabIndex = 0;
      this.cmdShow.Text = "Show";
      this.cmdShow.Click += new System.EventHandler(this.cmdShow_Click);
      // 
      // lblPrint
      // 
      this.lblPrint.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
      this.lblPrint.Location = new System.Drawing.Point(144, 32);
      this.lblPrint.Name = "lblPrint";
      this.lblPrint.Size = new System.Drawing.Size(280, 136);
      this.lblPrint.TabIndex = 1;
      // 
      // PrintDialogs
      // 
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
      this.ClientSize = new System.Drawing.Size(442, 373);
      this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                  this.lblPrint,
                                                                  this.cmdShow});
      this.MaximizeBox = false;
      this.MinimizeBox = false;
      this.Name = "PrintDialogs";
      this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
      this.Text = "PrintDialogs";
      this.Load += new System.EventHandler(this.PrintDialogs_Load);
      this.ResumeLayout(false);
    }
        #endregion
        /// 
        /// The main entry point for the application.
        /// 

        [STAThread]
        static void Main() 
        {
            Application.Run(new PrintDialogs());
        }
    private void PrintDialogs_Load(object sender, System.EventArgs e)
    {
      pd = new PrintDocument();
      pd.PrintPage += new PrintPageEventHandler(this.pd_Print);
      
      Preview.Document = pd;
    }
    protected override void OnPaint(PaintEventArgs e)
    {
      DrawIt(e.Graphics);
    }
    private void pd_Print(object sender, PrintPageEventArgs e)
    {
      lblPrint.Text += "pd_Print pd= " + sender.ToString() + "\n" ;
      DrawIt(e.Graphics);
    }
    private void DrawIt(Graphics G)
    {
      G.SmoothingMode=SmoothingMode.AntiAlias;
      G.DrawImage(MyImage, 10, 10);
      LinearGradientBrush B = new LinearGradientBrush(
                              new Rectangle(0, 0, 50, 10),
                              Color.Red, Color.Blue, 
                              LinearGradientMode.ForwardDiagonal);
      G.FillEllipse(B, 10, 200, 200, 75);
      G.DrawString("Print Preview Test", 
                   new Font("Comic Sans MS",24), B, 50, 275);
    }
    private void cmdShow_Click(object sender, System.EventArgs e)
    {
      Preview.WindowState = FormWindowState.Maximized;
      pd.DocumentName = DateTime.Now.Ticks.ToString();
      Preview.ShowDialog();
    }
    }
}