Search code examples
c#winformsvisual-studio-2010png

How to design a cool semi transparent splash screen?


I am trying to design a semi transparent screen as Adobe Photoshop's and visual studios semi transparent welcome splash screen while opening the Application. I set FormBorderStyle to none, And I place a picturebox on it and I added a png image to it, I Set picturebox color to transparent, But I am not able to set Form's back color as transparent. Below are exmples:

Photo shop start up splash screen

Visual studio start up splash screen

and when I set form's Back Color as transparent, it shows me error

Property Not Valid. Control does not support transparent background colors.

I already tried couple of code samples as shown below:

    public Splash_Screen()
{
    this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
    InitializeComponent();
    this.BackColor = Color.Red;
    BackColor = Color.Transparent;
}

and

    public Splash_Screen()
{
    this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
    InitializeComponent();
}

But nothings works for me.. Any suggestions?


Solution

  • You set your semi transparent background image to BackgroundImage property of the form. Then set a BackColor to your form, and set the TransparencyKey property of the form to the same color you set for your forms BackColor. Then remove the borders of the form by changing FormBorderStyle property of the form to None. That will do it.