您现在的位置是: 软件 > 开发者网络 > 程序方舟 > 嵌入式开发 > 正文


-网上传真探秘
-腾讯QQ 2003版试用手记
-FreeHand MX全新体验
-注册表知识群集

创建基于.NET Framework 精简版的动画控件
2003-05-10· · ··Microsoft

上一页  1 2 3  

  演出开始!

  我们已经完成了 AnimateCtl,现在可以进行测试。第一步,必须将带有“故事板”的图像文件添加到您的项目中。可以通过将此文件变为嵌入的资源或仅通知 Visual Studio .NET 2003 将此文件作为项目的一部分进行复制来完成此任务。在 Solution Explorer(解决方案资源管理器)中的项目上单击鼠标右键,并在弹出式菜单中选择 Add Existing Item...(添加现有项...)。浏览到图像文件并确保此文件的 Build Action(生成操作)属性已被设置为 Content(内容)。

  现在,在窗体的构造函数中插入以下代码:

public Form1()
{
//
// Windows Form Designer(Windows 窗体设计器)支持所需
//
InitializeComponent();

//实例化控件
animCtl = new AnimateCtl();
//从图像文件指定 Bitmap
animCtl.Bitmap = new Bitmap(@"\Program
Files\AnimateControl\guestbk.gif");
//设置位置
animCtl.Location = new Point(50, 50);
//将控件添加到窗体
this.Controls.Add(animCtl);
}

  在上面的代码中,我们使用从图像文件中创建的 Bitmap 对象指定动画控件的 Bitmap 属性。

  在设计器的窗体上放置两个按钮,并将以下代码添加到它们的 Click 事件中:

private void button1_Click(object sender, System.EventArgs e)
{
animCtl.StartAnimation(92, 100, 3);
}


private void button2_Click(object sender, System.EventArgs e)
{
animCtl.StopAnimation();
}

  运行项目并点击 Start Animation(启动动画)按钮,您就可以看到动画了:



图 3:最终产品

  伪动画 GIF 文件包含的帧的数目和帧之间的延迟时间可能会变化。当您为不同的动画调用 StartAnimation 方法时,需要调整 DelayInterval 参数。

  无论怎么说,此代码都不是最终版本。AnimateCtl 不能提供动画 GIF 中包含的所有功能。例如,AnimateCtl 控件不能处理帧之间的不同延迟时间。例如,您可能希望第一帧显示的时间比其他帧显示的时间稍长一些。本文中的代码对于您来说是一个很好的起点,您可以根据需要扩展此控件。

  请记住,显示高分辨率的图形动画将加重系统资源负担。一定要注意运行此代码的某些设备的内存和资源限制。不要忘记进行全面测试,并确保应用程序既不会占用所有内存,也不会占用所有处理器时间。

  小结

  虽然 .NET Framework 精简版只是 .NET Framework 完整版的一个子集,但是开发人员仍然可以创建对最终用户更具吸引力的用户界面。通过使用 .NET Framework 精简版提供的 GIF 编辑器工具和绘图能力,开发人员可以在其智能设备项目中显示动画。

上一页  1 2 3  

■ 相关内容
 .NET Framework 精简版后台处理技术
 VS.NET和.NET Framework 精简版入门
 微软发布.NET Compact Framework
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!