创建像Office 2010一样的动画闪屏

时间:2013-02-01 11:24:58

标签: c# user-interface splash-screen

如何使用C#创建一个类似于Office 2010中的动画启动画面?

6 个答案:

答案 0 :(得分:10)

这是关于winforms还是wpf的问题?

如果是关于wpf:

动画启动画面只不过是在加载“主窗口”时显示的wpf窗口。您可以使用Expression Blend设计此启动窗口,如wischi所述。

您还可以查看此code project

用于创建某种加载动画:A Simple WPF Loading Animation

只需创建一个带有在xaml中定义的动画的窗口,并在加载应用程序时显示它 - >动画的闪屏。

在Winforms中:

您可能必须覆盖表单的paint方法才能创建动画。但它仍然显示另一个窗口,其中包含一个动画,而另一个窗口正在加载。

答案 1 :(得分:2)

我建议使用 WPF 进行现代应用程序设计和启动画面问题 Expression Blend是一个用于创建动画和xaml设计的好工具。但你也可以通过写简单的xaml来设计动画

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

MSDN信息
Animation Overview

使用Winforms会很复杂。整个GUI由CPU呈现(没有GPU支持),但你可以创建自定义用户控件并覆盖Paint事件并使用GDI进行绘图,但这比使用wpf要复杂得多。

答案 2 :(得分:2)

如果您想制作像Office 2010这样的动态动画启动画面,我建议您使用 WPF ,而不要考虑使用 WinForms 来制作带代码的动态动画!< / p>

但是如果你决定使用WinForms,你必须要有点棘手,并使用其中一个技巧:

•放置Flash ActiveX对象,然后使用Flash制作动画,然后将它们链接在一起

•如果您使用 WPF Silverlight ,您可以使用Silverlight制作动画并在WebBrowser控件中查看它,您也可以使用Flash或 HTML5

答案 3 :(得分:1)

这里有一个详细的启动画面指南:  eExample splashscreen

Another example

虽然基础是:

1)创建一个启动画面,显示它,关闭/处理它

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

2)在单独的线程/后台工作者上运行启动画面

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

答案 4 :(得分:1)

在Winforms中,最简单的方法是在启动画面上使用带有动画Gif的PictureBox。

通过这种方式,您可以在动画上花费比代码更多的时间。

答案 5 :(得分:0)

在WPF中,只需右键单击项目&gt;即可。添加新项目&gt;闪屏。 here

是解释它的简单例子。