Creating an animated splash screen like office 2010

余生长醉 提交于 2019-12-21 07:29:23

问题


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


回答1:


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.




回答2:


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 mor compicated. The entire GUI is rendered by the CPU (no GPU support) but u 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.




回答3:


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




回答4:


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);



回答5:


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.




回答6:


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

is simple example explaining it.



来源:https://stackoverflow.com/questions/14645252/creating-an-animated-splash-screen-like-office-2010

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!