Custom Pen


   
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;

public class MainForm : Form {
    public MainForm() {
    }

    protected void OnPaint(PaintEventArgs e) {
        Graphics g = e.Graphics;
        Pen bluePen = new Pen(Color.Blue, 20);
        Pen pen2 = Pens.Firebrick;

        g.DrawEllipse(bluePen, 10, 10, 100, 100);
        g.DrawLine(pen2, 10, 130, 110, 130);
        g.DrawPie(Pens.Black, 150, 10, 120, 150, 90, 80);

        Pen pen3 = new Pen(Color.Purple, 5);
        pen3.DashStyle = DashStyle.DashDotDot;
        g.DrawPolygon(pen3, new Point[]{     new Point(30, 140),
          new Point(265, 200), new Point(100, 225),
          new Point(190, 190), new Point(50, 330),
          new Point(20, 180)});

        Rectangle r = new Rectangle(150, 10, 130, 60);
        g.DrawRectangle(Pens.Blue, r);
        g.DrawString("Hello out there...How are ya?",new Font("Arial", 12), Brushes.Black, r);

        Pen customDashPen = new Pen(Color.BlueViolet, 10);
        float[] myDashes = { 5.0f, 2.0f, 1.0f, 3.0f };
        customDashPen.DashPattern = myDashes;
        g.DrawRectangle(customDashPen, ClientRectangle);
    }
    public static void Main(){
        Application.Run(new MainForm());    
    }
}

    


Set LineJoin for Pen

   
 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

public class Form1 : Form {

    protected override void OnPaint(PaintEventArgs e) {
    Graphics g = e.Graphics;
    g.SmoothingMode = SmoothingMode.AntiAlias;
    g.FillRectangle(Brushes.White, this.ClientRectangle);

    Pen p = new Pen(Color.Black, 10);
    p.LineJoin = LineJoin.Bevel;
    e.Graphics.DrawRectangle(p, 20, 20, 60, 60);
    p.Dispose();
    }
    public static void Main() {
        Application.Run(new Form1());
    }
}

    


creates the custom dash pattern

   
 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

public class Form1 : Form {

    protected override void OnPaint(PaintEventArgs e) {
    Graphics g = e.Graphics;
    Pen p = new Pen(Color.Black, 2);

    float[] f = { 15, 5, 10, 5 };

    p.DashPattern = f;
    g.DrawRectangle(p, 10, 10, 80, 100);
    p.Dispose();
    }
    public static void Main() {
        Application.Run(new Form1());
    }
}

    


Set DashStyle

   
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;

using System.Text;
using System.Windows.Forms;

public class Form1 : Form {

    protected override void OnPaint(PaintEventArgs e) {
        Graphics g = e.Graphics;
        g.FillRectangle(Brushes.White, this.ClientRectangle);
        Pen p = new Pen(Color.Black, 1);

        p.DashStyle = DashStyle.Dash;
        g.DrawLine(p, 3, 3, 100, 3);
        p.Dispose();
    }
    public static void Main() {
        Application.Run(new Form1());
    }
}

    


creates the custom dash pattern 5

   
 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

public class Form1 : Form {

    protected override void OnPaint(PaintEventArgs e) {
    Graphics g = e.Graphics;
    g.FillRectangle(Brushes.White, this.ClientRectangle);
    Pen p = new Pen(Color.Black, 1);

    float[] f = { 15, 5, 10, 5 };

    p.DashPattern = f;
    g.DrawRectangle(p, 10, 10, 80, 100);
    p.Dispose();
    }
    public static void Main() {
        Application.Run(new Form1());
    }
}

    


StartCap, EndCap

   
 

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Drawing.Drawing2D;

public class Form1 : System.Windows.Forms.Form {
    [STAThread]
    static void Main() {
        Application.Run(new Form1());
    }
    protected override void OnPaint(PaintEventArgs e) {
        Graphics g = e.Graphics;
        Pen p = new Pen(Color.Brown, 15);

        p.StartCap = LineCap.SquareAnchor;
        p.EndCap = LineCap.SquareAnchor;
        g.DrawLine(p, 30, 190, Width - 50, 190);

    }
}

    


Dispose a pen

   
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

public class Form1 : Form {

    protected override void OnPaint(PaintEventArgs e) {
        Graphics g = e.Graphics;
        g.FillRectangle(Brushes.White, this.ClientRectangle);

        Pen p = new Pen(Color.Black);
        g.DrawLine(p, 0, 0, 100, 100);
        p.Dispose();
    }
    public static void Main() {
        Application.Run(new Form1());
    }
}