Fade splash screen in and out
-
01-07-2019 - |
Question
In a C# windows forms application. I have a splash screen with some multi-threaded processes happening in the background. What I would like to do is when I display the splash screen initially, I would like to have it appear to "fade in". And then, once all the processes finish, I would like it to appear as though the splash screen is "fading out". I'm using C# and .NET 2.0. Thanks.
Solution
You could use a timer to modify the Form.Opacity level.
OTHER TIPS
When using Opacity property have to remember that its of type double, where 1.0 is complete opacity, and 0.0 is completely transparency.
private void fadeTimer_Tick(object sender, EventArgs e)
{
this.Opacity -= 0.01;
if (this.Opacity <= 0)
{
this.Close();
}
}
You can use the Opacity property for the form to alter the fade (between 0.0 and 1.0).
While(this.Opacity !=0)
{
this.Opacity -= 0.05;
Thread.Sleep(50);//This is for the speed of the opacity... and will let the form redraw
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow