/* 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> /// Summary description for PenProps. /// </summary> public class PenProps : System.Windows.Forms.Form { private System.Windows.Forms.Label lblType; /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; public PenProps() { // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> 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 /// <summary> /// The main entry point for the application. /// </summary> [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)