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

namespace RandRect100
{
        /// <summary>
        /// Summary description for Form1.
        /// </summary>
        public class Form1 : System.Windows.Forms.Form
        {
                /// <summary>
                /// Required designer variable.
                /// </summary>
                private System.ComponentModel.Container components = null;

                public Form1()
                {
                        //
                        // 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()
                {
                        // 
                        // Form1
                        // 
                        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
                        this.ClientSize = new System.Drawing.Size(292, 273);
                        this.Name = "Form1";
                        this.Text = "Random Rectangles";
                        this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);

                }
                #endregion

                /// <summary>
                /// The main entry point for the application.
                /// </summary>
                [STAThread]
                static void Main() 
                {
                        Application.Run(new Form1());
                }

                private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
                {
                        Random rand = new Random();
                        Graphics g = e.Graphics;

                        for (int i=1; i<=100; i++)
                        {
                                int x1 = rand.Next(this.ClientSize.Width);
                                int x2 = rand.Next(this.ClientSize.Width);
                                int y1 = rand.Next(this.ClientSize.Height);
                                int y2 = rand.Next(this.ClientSize.Height);

                                Color color = Color.FromArgb(rand.Next(256), rand.Next(256), rand.Next(256));
                                g.FillRectangle(new SolidBrush(color), 
                                        Math.Min(x1,  x2), Math.Min(y1,  y2),
                                        Math.Abs(x2 - x1), Math.Abs(y2 - y1));
                        }
                }
        }
}