Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
821 views
in Technique[技术] by (71.8m points)

c# - 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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...