title: Create the same Form several times
body: <p>I need help I am currently programming notifications and I would like to create the same form several times, but always a bit lower this is my code.
  I have everything I have ever learned already applied but it has not brought anything I hope that I find help here.</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Linq;
  using System.Text;
  using System.Threading.Tasks;
  using System.Windows.Forms;
  
  namespace UniqueOS_
  {
      public partial class alert : Form
      {
  
      public alert(string _message, AlertType type)
      {
          InitializeComponent();
  
          Nachricht.Text = _message;
  
          switch (type)
          {
              case AlertType.success:
                  this.BackColor = Color.SeaGreen;
                  this.pictureBox1.Image = Properties.Resources.icons8_ok_70;
                  break;
              case AlertType.info:
                  this.BackColor = Color.Gray;
                  this.pictureBox1.Image = Properties.Resources.icons8_info_70;
                  break;
              case AlertType.warning:
                  this.BackColor = Color.FromArgb(255, 128, 0);
                  this.pictureBox1.Image = Properties.Resources.icons8_error_70__1_;
                  break;
              case AlertType.error:
                  this.BackColor = Color.Crimson;
                  this.pictureBox1.Image = Properties.Resources.icons8_error_70__1_;
                  break;
          }
      }
      /// &lt;summary&gt;
      /// 
      /// &lt;/summary&gt;
      /// &lt;param name="message"&gt;&lt;/param&gt;
      /// &lt;param name="type"&gt;&lt;/param&gt;
      public static void Show(string message, AlertType type)
      {
          new UniqueOS_.alert(message, type).Show();
      }
  
  
      private void alert_Load(object sender, EventArgs e)
      {         
           this.TopMost = true;
           this.Top = -1 * (this.Height);
           this.Left = Screen.PrimaryScreen.Bounds.Width - this.Width - 40;
  
           show.Start();
           button1.FlatAppearance.BorderColor = this.BackColor;                    
      }
      public enum AlertType
      {
          success, info, warning, error
      }
  
      private void button1_Click(object sender, EventArgs e)
      {
          close.Start();
      }
      int interval = 0;
      public void show_Tick(object sender, EventArgs e)
      {
          if (this.Top &lt; 60)
          {
              this.Top += interval;
              interval += 2;
          }
          else
          {
              show.Stop();
              interval += 4;
              Verschwindertimer.Start();
          }
      }
      private void close_Tick(object sender, EventArgs e)
      {
          if (this.Opacity &gt; 0)
          {
              this.Opacity -= 0.1;
          }
          else
          {
              this.Close();
          }
  
      }
  
      private void timeout_Tick(object sender, EventArgs e)
      {
  
      }
  
      private void Verschwindertimer_Tick(object sender, EventArgs e)
      {
          close.Start();
      }
  
      private void Nachricht_Click(object sender, EventArgs e)
      {
  
      }
  
      private void pictureBox1_Click(object sender, EventArgs e)
      {
  
      }
    }
  }
  </code></pre>