用户名: 密码: 验证码:           网站地图  高级搜索  RSS订阅  收藏本站
您的位置:主页 > 程序编程 > C# >

利用Visual C# 2005制作简单动画效果

[ 来源:博客园 | 作者:章立民 | 更新日期:2008-3-24 10:56:38 | 人气: | 评论 0 条 ]
  一般的 Windows Form 通常是运用各种控件来显示数据,然而假如您希望在窗体中加入非凡效果来凸显数据内容,那么图形与动画将是非常不错的选择。

  一般来说,我们会使用 .Net Framework中 的 GDI 函式库来制作图形与动画效果。在 GDI 还没有推出之前,假如要产生二维的 向量图形、影像、以及印刷样式,必须使用旧版操作系统中的GDI。新的 GDI 是 Windows XP 的一部份,除了加入新功能之外,还最佳化现有功能以便具体改进 GDI(也就是旧版 Windows 包含的绘图装置接口)的效能。

  程序范例

点击放大此图片
图表1

点击放大此图片
文章来源于www.hot007.com

图表2

点击放大此图片
图表3

  我们的程序范例示范了三种动画效果,分别是:眨眼效果、弹跳的球、以及文字闪烁,当程序执行时会自动展示第一种眨眼效果,如图表1到3所示。

  运用之前「如何利用程序代码动态存取组件信息」的技巧,将组件的 AsmFQName 属性值指派给窗体的 Text 属性,并将先前已经加入项目资源的四张图片名称指派给数组,之后就使用此数组来示范眨眼效果,程序代码撰写于窗体的Load事件处理例程中,如下所示:

private void Blog_DemoForm002_Load(object sender, EventArgs e)
{
 AssemblyInfoClass myAssembly = new AssemblyInfoClass();

 this.Text = myAssembly.AsmFQName;

 // 指派数组成员。 jc567.cn
 arrImages[0] = Properties.Resources.Eye1;
 arrImages[1] = Properties.Resources.Eye2;
 arrImages[2] = Properties.Resources.Eye3;
 arrImages[3] = Properties.Resources.Eye4;
}

点击放大此图片
图表4

  假如您要使用 Visual C# 来制作「关于」对话框,建议先使用Visual Studio 2005所提供的模板来产生关于对话框窗体,然后再自订窗体所要呈现的内容(如图表4所示)。在此,我们选择将组件的相关信息填入窗体对应的控件,请于「关于」对话框窗体的 Load 事件处理例程中撰写下列程序代码:

private void AboutBox_Load(object sender, EventArgs e)

文章来源于www.hot007.com


{
 AssemblyInfoClass myAssembly = new AssemblyInfoClass();

 labelProductName.Text = "产品名称:" myAssembly.Product;
 labelVersion.Text = "版本:" myAssembly.Version;
 labelCopyright.Text = "版权宣告:" myAssembly.Copyright;
 labelCompanyName.Text = "公司名称:" myAssembly.Company;
 textBoxDescription.Text = "细部描述:"
 myAssembly.Description;
}

  要显示「关于」对话框,请替「说明」菜单项目的Click事件处理例程中撰写下列程序代码:

private void toolStripMenuItem4_Click(object sender, EventArgs e)
{
 // 显示关于对话框。
 AboutBox MyAboutBox = new AboutBox();

 // 设定关于对话框的启始位置。
 MyAboutBox.StartPosition = FormStartPosition.CenterScreen;
 MyAboutBox.Show();
}
jc567.cn

  当用户点选不同的选项按钮时,将会执行下列程序代码来显示不同的动画效果。这些程序代码撰写于选项按钮的 CheckedChanged 事件处理函式中,如下所列:

private void RadioButtons_CheckedChanged(object sender,
EventArgs e)
{
 if(optWink.Checked)
 {
  tmrAnimation.Interval = WINK_TIMER_INTERVAL;
 }
 else if(optBall.Checked)
 {
  tmrAnimation.Interval = BALL_TIMER_INTERVAL;
 }
 else if(optText.Checked)
 {
  tmrAnimation.Interval = TEXT_TIMER_INTERVAL;
 }
 OnResize(EventArgs.Empty);
}

  自订函式 RadioButtons_CheckedChanged 会叫用 OnResize 函式来产生不同的图形,请大家注重,我们系使用 Graphics 类别的 FillEllipse 方法来绘制球形,程序代码如下所列:

protected override void OnResize(EventArgs ea) hot007.com
{
共2页: 上一页 1 [2] 下一页
Tags:利用Visual,C#,2005制作简单动画效果
您的评论
用户名: 新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为