65.9K
CodeProject is changing. Read more.
Home

Using Form Opacity to Make Splash Screen for your Project (Fade In & Fade Out)

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.64/5 (9 votes)

Sep 2, 2008

CPOL

1 min read

viewsIcon

40490

downloadIcon

1884

Make Fade In & Fade Out animation with Windows Form using C#

Introduction

Hello! This is my first article on The Code Project and I hope this will give you some opinion of creating a splash screen for your application using the form opacity property.

NOTE: I created this project with Visual Studio 2008 and .NET Framework 3.5, so you MUST use Visual Studio 2008 to open the project otherwise it will not work. You could just open the source code file (*.cs) to browse the code. Thanks.

Using the Code

The main idea of this project is to make Fade In and Fade Out animation with the Windows Form. The main component of this project is System.Windows.Forms.Timer.

In the project, I have two Timer Controls, one which is used for Fade In effect and the other for Fade Out effect.

Make the form invisible when the form loads, then start the Fade In effect by enabling the timerFadeIn control...

private void Form1_Load(object sender, EventArgs e)
{
	this.Opacity = 0;
	timerFadeIn.Enabled = true;//Enable the timerFadeIn to start Fade In Effect
	timerFadeOut.Enabled = false;
}

Next, the code in timerFadeIn_Tick event:

private void timerFadeIn_Tick(object sender, EventArgs e)
{//Fade in effect
            i += 0.05;
            if (i >= 1)
            {//if form is fully visible, we execute the Fade Out Effect
                this.Opacity = 1;
                timerFadeIn.Enabled = false;//stop the Fade In Effect
                timerFadeOut.Enabled = true;//start the Fade Out Effect
                return;
            }
            this.Opacity = i;
}

Finally, after the form is fully visible, we make the Fade Out effect in the timerFadeOut_Tick event.

private void timerFadeOut_Tick(object sender, EventArgs e)
{//Fade out effect
            i -= 0.05;
            if (i <= 0.01)
            {//if form is invisible, we execute the Fade In Effect again
                this.Opacity = 0.0;
                timerFadeIn.Enabled = true;//start the Fade In Effect
                timerFadeOut.Enabled = false;//stop the Fade Out Effect
                return;
            }
            this.Opacity = i;
}

Points of Interest

I have a lot of fun working with this project and I hope it will come handy for you and hope you will have fun like me too. Comments and advice will be gladly appreciated, thanks.

Related Topic

You can check Mr. Mohammad Dayyan's article about form opacity here for more resources and code.

History

  • 2nd September, 2008: Initial post