15

如何使用 C# 创建类似于 Office 2010 中的动画启动屏幕?

4

6 回答 6

14

这是关于winforms或wpf的问题吗?

如果是关于 wpf:

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

你也可以看看这个代码项目

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

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

在 Winforms 中:

您可能必须重写窗体的绘制方法来创建动画。但它仍然显示另一个窗口,其中包含一个动画,而另一个窗口正在加载。

于 2013-02-08T16:54:27.373 回答
3

我建议将WPF用于现代应用程序设计和闪屏问题。
Expression Blend 是用于创建动画和 xaml 设计的好工具。但是你也可以通过编写普通的 xaml 来设计动画

Expression Blend 教程
使用 Expression Blend 的动画:如何创建
动画 使用 Expression Blend 的动画:如何在事件上启动动画

MSDN 信息
动画概述

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

于 2013-02-04T14:57:58.703 回答
2

如果你想制作像 Office 2010 这样的动态动画闪屏,我建议你使用WPF,永远不要考虑使用WinForms来使用代码制作动态动画!

但是,如果您确定要使用 WinForms,则必须很棘手,并使用以下技巧之一:

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

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

于 2013-02-08T08:27:29.613 回答
1

启动画面的详细指南在这里: eExample splashscreen

另一个例子

虽然基础是:

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);
于 2013-02-01T12:07:52.717 回答
1

在 Winforms 中,最简单的方法是在初始屏幕上使用带有动画 Gif 的 PictureBox。

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

于 2015-08-03T13:10:04.300 回答
0

在 WPF 中,只需右键单击项目 > 添加新项目 > 启动屏幕即可。

是一个简单的例子来解释它。

于 2016-10-21T09:24:55.723 回答