文章目录
1.类库说明
App.Animations 类库是一个很精炼、好用的 csharp easing 动画库
- 基于 net-standard 2.0
- 提供 Fluent API,写代码非常舒服。
- 支持多个参数同时参与动画。
- 自带 30+ 缓动动画效果。
- 支持自定义缓动动画。
- 支持无限循环。
- 支持自动返回。
- 支持扩展方法,简化动画创建
- 代码非常精炼,是学习线程控制的好示例项目。
2.使用步骤
2.1 创建一个Windows Form 项目
App.Animations 类库是基于 net-standard 2.0开发的,不依赖于其它任何类库,是可以跨平台使用的。这里以windows form项目为例,演示ui动画。窗口创建好后,在界面上拖入控件,效果如下:
2.2 安装类库
nuget-install App.Animations
2.3 编码
using App.Animations;
using App.Utils;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AnimationForm
{
public partial class Form1 : Form
{
Animator _ani;
public Form1()
{
InitializeComponent();
BindEnum(this.cmbType1, typeof(AnimationType));
BindEnum(this.cmbType2, typeof(AnimationType));
}
//-------------------------------------------------------
// Combobox <-> Enum
//-------------------------------------------------------
void BindEnum(ComboBox cmb, Type enumType)
{
var infos = enumType.GetEnumInfos();
cmb.Items.Clear();
foreach (var info in infos)
{
cmb.Items.Add(info);
}
cmb.SelectedIndex = 0;
}
T GetEnum<T>(ComboBox cmb) where T : Enum
{
return (T)(cmb.SelectedItem as EnumInfo