Drawing2D
Point[] apt = {new Point(0, 0),
new Point(iSide, 0),
new Point(iSide, iSide),
new Point(0, iSide)};
PathGradientBrush pgbrush = new PathGradientBrush(apt, WrapMode.TileFlipXY);
pgbrush.SurroundColors = new Color[] { Color.Red, Color.AliceBlue, Color.Blue, Color.White};
e.Graphics.FillRectangle(pgbrush, 0, 0, this.Width , this.Height );