使用 VB.NET 自定义状态动画






3.88/5 (21投票s)
通过自定义动画为您的用户提供眼球糖果

引言
还记得5秒钟内完成的事情真的很快吗?今天,如果你的应用程序中的某些事情需要超过5秒钟,你的用户会认为应用程序被锁定了。当然,我夸张了,但是当你的用户正在等待一个长时间运行的进程完成时,展示一些“引人注目”的东西不好吗?该组件使用 GDI 将一系列 PNG 文件绘制到窗体上,以及一个可更新的标题和消息。概念很简单,但它会让你的应用程序看起来更专业。它在自己的线程上运行并且完全线程安全,因此你可以在动画发生时继续你正在做的事情。
尽情享用!
Using the Code
你可以使用预定义的 AnimationData
对象之一,由相应的枚举引用,或者你可以在组件之外创建一个自定义 AnimationData
对象并将其传入。我更喜欢使用 PNG 文件作为动画的各个帧(图像),因为它们支持 alpha 混合。
CancelClicked 事件
当你允许显示取消链接(使用 AllowCancel
属性)时,你可以拦截取消并使用 CancelClicked
事件提供一个对话框,询问你是否真的要取消动画。在用户点击“是”之后,你可以在应用程序中做任何必要的事情来停止该进程,然后在 eventargs 中设置 e.Cancel = True
。这将传递回组件以停止动画。如果你传递回 False
(e.Cancel = False
),则动画将继续。
AnimationData.FromSingleImage 方法
你可以从包含动画所有帧的单个图像创建 AnimationData
对象。为此,将图像添加到你的项目并调用 AnimationData.FromSingleImage
方法。告诉该方法动画包含多少帧,它会将单个图像拆分成单独的帧并填充图像列表。指定透明颜色将使该颜色在图像中透明。当该方法返回时,根据你的需要设置 AnimationData
属性,并调用 Show
方法。
历史
- 2008年9月26日:初始发布
- 2008年9月29日:添加
CancelClicked
事件描述 - 2008年10月3日:更新代码以修复快速取消
- 2008年10月7日:添加
AnimationData.FromSingleImage
方法描述