2D Graphics C#

/*
GDI+ Programming in C# and VB .NET
by Nick Symmonds
Publisher: Apress
ISBN: 159059035X
*/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
namespace PenProps_c
{
    /// 
    /// Summary description for PenProps.
    /// 

    public class PenProps : System.Windows.Forms.Form
    {
    private System.Windows.Forms.Label lblType;
        /// 
        /// Required designer variable.
        /// 

        private System.ComponentModel.Container components = null;
        public PenProps()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();
            //
            // TODO: Add any constructor code after InitializeComponent call
            //
        }
        /// 
        /// Clean up any resources being used.
        /// 

        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.lblType = new System.Windows.Forms.Label();
      this.SuspendLayout();
      // 
      // lblType
      // 
      this.lblType.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
      this.lblType.Location = new System.Drawing.Point(56, 184);
      this.lblType.Name = "lblType";
      this.lblType.Size = new System.Drawing.Size(328, 16);
      this.lblType.TabIndex = 0;
      // 
      // PenProps
      // 
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
      this.ClientSize = new System.Drawing.Size(464, 237);
      this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                  this.lblType});
      this.Name = "PenProps";
      this.Text = "PenProps";
      this.Load += new System.EventHandler(this.PenProps_Load);
      this.ResumeLayout(false);
    }
        #endregion
        /// 
        /// The main entry point for the application.
        /// 

        [STAThread]
        static void Main() 
        {
            Application.Run(new PenProps());
        }
    private void PenProps_Load(object sender, System.EventArgs e)
    {
    
    }
    protected override void OnPaint(PaintEventArgs e) 
    {
      Graphics G  = e.Graphics;
//      Pen P1=new Pen(Color.Blue, 10);
//
//      G.DrawLine(P1, 20, this.Height/2, this.Width - 20, this.Height/2);
//
//      //Change color and width
//      P1.Color=Color.DarkOrange;
//      P1.Width=5;
//      G.DrawLine(P1, 20, this.Height/2, this.Width - 20, this.Height/2);
//      P1.Width=20;
//
//      //Change brush
//      Pen P2=new Pen(Color.Blue, 10);
//      G.DrawLine(P2, 20, this.Height/3, this.Width - 20, this.Height/3);
//      P2.Brush=new TextureBrush(new Bitmap("colorbars.jpg"));
//      G.DrawLine(P2, 20, this.Height/2, this.Width - 20, this.Height/2);
//      P1.Dispose();
      Pen P2=new Pen(Color.Blue, 10);
      float[] Pts = {3, 1, 2, 5};
      P2.DashStyle=System.Drawing.Drawing2D.DashStyle.Dash;
      P2.DashPattern=Pts;
   //'   P2.DashOffset=40;
      P2.DashCap=System.Drawing.Drawing2D.DashCap.Triangle;
      P2.StartCap = System.Drawing.Drawing2D.LineCap.Round;
      P2.EndCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor;
      G.DrawLine(P2, 20, this.Height/2, this.Width - 20, this.Height/2);
      //pentype
      G.Clear(Color.Khaki);
      Pen P3=new Pen(Color.Blue, 10);
      P3.Brush=new TextureBrush(new Bitmap("colorbars.jpg"));
      G.DrawLine(P3, 20, this.Height/2, this.Width - 20, this.Height/2);
      lblType.Text = "PenType is " + P3.PenType.ToString();
      //Compoundarray
      P3.Dispose();
      G.Clear(Color.Khaki);
      Single[] lines = {0.0f, 0.1f, 0.9f, 1.0f};
      P3=new Pen(Color.Blue, 20);
      P3.CompoundArray=lines;
      G.DrawLine(P3, 20, this.Height/2, this.Width - 20, this.Height/2);
      //pens class
      P3.Dispose();
      G.Clear(Color.Khaki);
      P3 = Pens.LightSlateGray;
      G.DrawLine(P3, 20, this.Height/2, this.Width - 20, this.Height/2);
      G.DrawLine(Pens.Violet, 20, this.Height/2, 
                this.Width - 20, this.Height/2);
      if (P2 != null)
        P2.Dispose();
    }
    }
}
           
       
PenProps-c.zip( 5 k)