2D Graphics C#

using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
public class TestGDI2 : System.Windows.Forms.Form{
    
    //in order to paint something OnPaint method needs to be overridden
    
    protected override void OnPaint(System.Windows.Forms.PaintEventArgs pe) {
        //OnPaint method is a member of Form class 
        //The following call sends pe to an event listener Graphics
        base.OnPaint(pe);
        
        Graphics g = pe.Graphics;
        g.FillRectangle(new SolidBrush(Color.White), ClientRectangle);
        GraphicsPath path = new GraphicsPath(new Point[] {
        new Point(40, 140), new Point(275, 200),
        new Point(105, 225), new Point(190, 300),
        new Point(50, 350), new Point(20, 180), },
        
        new byte[] {
            (byte)PathPointType.Start,
            (byte)PathPointType.Bezier,
            (byte)PathPointType.Bezier,
            (byte)PathPointType.Bezier,
            (byte)PathPointType.Line,
            (byte)PathPointType.Line,
        });
        PathGradientBrush pgb = new PathGradientBrush(path);
        pgb.SurroundColors = new Color[] { Color.Green,Color.Yellow,Color.Red, 
                                            Color.Blue,Color.Orange, Color.White, 
                                          };
        g.FillPath(pgb, path);
    }
    public static void Main() {
        System.Windows.Forms.Application.Run(new TestGDI2());//display form
    }
}