创建动画初始屏幕,如 Office 2010
本文关键字:Office 2010 屏幕 动画 创建 | 更新日期: 2023-09-27 17:56:54
如何使用 C# 创建类似于 Office 2010 中的动画初始屏幕?
这个问题是关于 winforms 还是 wpf?
如果是关于 wpf:
动画初始屏幕不超过加载"主窗口"时显示的 wpf 窗口。您可以使用表达式混合设计此启动窗口,如 wischi 所述。
您还可以查看此代码项目。
用于创建某种加载动画:简单的 WPF 加载动画
只需创建一个具有 xaml 中定义的动画的窗口,并在应用程序加载动画初始屏幕时显示它>
在温福斯:
您可能需要重写窗体的 paint 方法才能创建动画。但它仍然显示另一个窗口,其中包含另一个窗口,该窗口正在加载。
我建议将 WPF 用于现代应用程序设计和初始屏幕问题。
表达式混合是用于创建动画和 xaml 设计的好工具。但您也可以通过编写普通的 xaml 来设计动画。
表达式混合教程
使用表达式混合的动画:如何创建动画
使用表达式混合的动画:如何启动事件动画
MSDN 信息
动画概述
使用Winforms,它将更加复杂。整个 GUI 由 CPU 呈现(不支持 GPU),但您可以创建自定义用户控件并覆盖 Paint
事件并使用 GDI 进行绘制,但这比使用 wpf 要复杂得多。
如果你想制作一个像Office 2010这样的动态动画启动画面,我建议你使用WPF,永远不要考虑WinForms用代码制作动态动画!
但是,如果您决定使用WinForms,则必须很棘手,并使用以下技巧之一:
•放置一个Flash ActiveX对象,并使用Flash制作动画,然后将它们链接在一起
• 如果你擅长WPF和Silverlight,你可以用Silverlight制作你的动画,并在Web浏览器控件中查看,你也可以使用Flash或HTML5
有关初始屏幕的详细指南,请参见此处: e初始屏幕示例
另一个例子
虽然基础知识是:
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);
在 WinForms 中,最简单的方法是在初始屏幕上使用带有动画 GIF 的 PictureBox。
这种方式允许您在动画上花费比代码更多的时间。
在 WPF 中,只需右键单击项目>>初始屏幕添加新项即可非常简单。这
是解释它的简单例子。