如何使用C#创建一个类似于Office 2010中的动画启动画面?
答案 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
虽然基础是:
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
是解释它的简单例子。