I re-explain my question here. All my code here works. It generates ellipse, rectangles and lines on button\_click. My programming teacher wants me to put the code from btnLijn, btnCirkel and btnRechthoek in differant classes. The reason is that it looks more neat.

Also I am having another problem. The problem is that I can only generate 1 graphic at the time. Everytime I want to add one.. the old one disappears. How to fix these problems?

namespace Kunstgenerator

{

```
public partial class Form1 : Form
{
    bool TekenCirkel = false;

    bool TekenRechthoek = false;
    bool TekenLijn = false;
    public Form1()
    {
        InitializeComponent();
    }

    private void button4_Click(object sender, EventArgs e)
    {
        pictureBox1.Invalidate();
    }

    private void btnCirkel_Click(object sender, EventArgs e)
    {
        TekenCirkel = true;
        pictureBox1.Refresh();
        TekenCirkel = false;
    }

    private void btnRechthoek_Click(object sender, EventArgs e)
    {
        TekenRechthoek = true;
        pictureBox1.Refresh();
        TekenRechthoek = false;
    }

    private void btnLijn_Click(object sender, EventArgs e)
    {
        TekenLijn = true;
        pictureBox1.Refresh();
        TekenLijn = false;
    }

    private void pictureBox1_Resize(object sender, EventArgs e)
    {
        Refresh();
    }

    private void pictureBox1_Paint(object sender, PaintEventArgs e)
    {
       // Er wordt een Random aangemaakt.
       Random random = new Random();

       // Breedte en hoogte wordt aangemaakt en verwezen naar zichzelf.
       // Hier wordt de Random gebruikt om een willekeurige hoogte en breedte te maken.
       int canvasHoogte = pictureBox1.ClientRectangle.Height;
       int canvasBreedte = pictureBox1.ClientRectangle.Width;

       int lengte = random.Next(0, 125);
       int X = random.Next(this.Width / 3);
       int Y = random.Next(this.Height / 3);

       // Primaire kleuren Rood, Geel, Blauw worden hier aangemaakt.
       // Door de Random is de kleuren willekeurig. Er wordt een kleur uitgekozen tussen 1 en 255
       int r = random.Next(255);
       int g = random.Next(255);
       int b = random.Next(255);

       if (TekenRechthoek)
       {
           Graphics graphics = e.Graphics;
           if (random.Next(2) == 0)
           {
               graphics.FillRectangle(new SolidBrush(Color.FromArgb(r, g, b)), X, Y, lengte, lengte );
           }
           else
           {
               graphics.DrawRectangle(new Pen(new SolidBrush(Color.FromArgb(r, g, b))), X, Y, lengte, lengte);
           }
       }
       else if (TekenLijn)
       {
           Graphics graphics = e.Graphics;
           graphics.DrawLine(new Pen(new SolidBrush(Color.FromArgb(r, g, b))), X, Y, lengte, lengte);
       }
       else if (TekenCirkel)
       {
            Graphics graphics = e.Graphics;
            if (random.Next(2) == 0)
            {
                graphics.FillEllipse(new SolidBrush(Color.FromArgb(r, g, b)), X, Y, lengte, lengte);
            }
            else
            {
                graphics.DrawEllipse(new Pen(new SolidBrush(Color.FromArgb(r, g, b))), X, Y, lengte, lengte);
            }
        }
      }          
   }

```

}