title: Transparent background showing up black
body: <p>I'm trying to make an image appear on top of another and still show the image underneath via a transparent background. I've got it so the new image appears on top of the other however setting BackColor to Color.Transparent just results in a black background.</p>
  
  <p>Full Code:</p>
  
  <pre><code>public partial class frm_airportApplication : Form
  {
      PictureBox PicBox;
      public frm_airportApplication()
      {
          InitializeComponent();
      }
      protected override CreateParams CreateParams
      {
          get
          {
              CreateParams cp = base.CreateParams;
              cp.ExStyle |= 0x000000200;
              return cp;
          }
      }
  
      private void button1_Click(object sender, EventArgs e)
      {
          AllowTransparency = true;
          plane p = new plane();
          p.getPB().Parent = pb_airport;
          this.Controls.Add(p.getPB());
          this.Update();
      }
      protected void InvalidateEx()
      {
          if (Parent == null)
              return;
          Rectangle rc = new Rectangle(this.Location, this.Size);
          Parent.Invalidate(rc, true);
      }
      protected override void OnPaintBackground(PaintEventArgs pevent)
      {
          //do not allow the background to be painted 
      }
  
      private void button2_Click(object sender, EventArgs e)
      {
          AllowTransparency = true;
          ResourceManager resourceManager = new ResourceManager("Airport_Application.Properties.Resources", GetType().Assembly); 
          PicBox = new PictureBox();
          PicBox.BackColor = Color.Transparent;
          PicBox.Image = (Bitmap)resourceManager.GetObject("plane_icon");
          PicBox.Top = 100;
          PicBox.Width = 120;
          PicBox.Height = 120;
          PicBox.Left = 10;
          PicBox.SizeMode = PictureBoxSizeMode.Zoom;
  
          PicBox.Parent = pb_airport;
          Controls.Add(PicBox);
          PicBox.BringToFront();
      }
  }
  public class plane
  {
      PictureBox pb;
      Bitmap image;
      ResourceManager resourceManager;
      public plane()
      {
          resourceManager = new ResourceManager("Airport_Application.Properties.Resources", GetType().Assembly);
          image=(Bitmap)resourceManager.GetObject("plane_icon");
          pb = new PictureBox();
          pb.Image = image;
          pb.Top = 500;
          pb.Width = 100;
          pb.Height = 100;
          pb.Left = 50;
          pb.SizeMode = PictureBoxSizeMode.Zoom;
          pb.BackColor = Color.Transparent;
      }
      public PictureBox getPB()
      {
          return pb;
      }
  }
  </code></pre>
  
  <p>I've found a lot of people who have had similar issues but none of the solutions helped.</p>