Saleh Omar
Saleh Omar

Reputation: 759

Creating an animated splash screen like office 2010

How can I create an animated splash screen like the one in Office 2010 using C#?

Upvotes: 15

Views: 31409

Answers (6)

wischi
wischi

Reputation: 676

I recommend using WPF for modern application design and your splashscreen problem.
Expression Blend is a nice tool for creating animations and xaml designs. But you can also design animations by writing plain xaml as well

Expression Blend Tutorials
Animation Using Expression Blend: How to create an animation
Animation Using Expression Blend: How to start animations on events

MSDN Info
Animation Overview

Using Winforms it will be much more complicated. The entire GUI is rendered by the CPU (no GPU support) but you can create a custom usercontrol and overwrite the Paint event and use GDI for drawing, but this will be much more complicated then using wpf.

Upvotes: 3

user4340666
user4340666

Reputation: 1473

In WPF it is very easy just right click on project > add new item > splash screen. This

is simple example explaining it.

Upvotes: 0

Marco Guignard
Marco Guignard

Reputation: 653

In Winforms, the simplest way is using a PictureBox with an animated Gif on a splashscreen.

This way allows you to spend more time on your animation than your code.

Upvotes: 1

The-First-Tiger
The-First-Tiger

Reputation: 1574

Is this question about winforms or wpf?

If it's about wpf:

An animated splash screen is not more than a wpf window showing while your "Main Window" is loading. You can design this splash window with Expression Blend as explained by wischi.

You can also have a look at this code project.

For creating some kind of a loading animation: A Simple WPF Loading Animation

Just create a window with an animation defined in xaml and show it while your application is loading -> animated splash screen.

In Winforms:

You may have to override the paint method of a form to create an animation. But it's still showing another window which contains an animation while another window is loading.

Upvotes: 14

Eslam Hamouda
Eslam Hamouda

Reputation: 1151

if you want to make a dynamic animated splash screen like Office 2010 , i recommend you to use WPF and never think about WinForms to make dynamic animation with code !

but if you are determined of using WinForms you have to be tricky , and use one of this tricks :

• put a Flash ActiveX Object , and make your animation with Flash then link them together

• if you are good with WPF and Silverlight you can make your animation with Silverlight and view it in a WebBrowser Control , You may also use Flash or HTML5

Upvotes: 2

Random IT Guy
Random IT Guy

Reputation: 623

A detailed guide for a splashscreen is here: eExample splashscreen

Another example

Although the basics is:

1) Create a splashscreen, show it, close/dispose it

    private void SplashForm()
    {
    SplashForm newSplashForm = new SplashForm();
    newSplashForm.ShowDialog();
    newSplashForm.Dispose();
    }

2) Run the splashscreen on a seperate thread/backgroundworker

        Thread t1 = new Thread(new ThreadStart(SplashForm));
        t1.Start();
        Thread.Sleep(5000); // 5 seconds
        t1.Abort();
        Thread.Sleep(1000);

Upvotes: 1

Related Questions