创建动画按钮

时间:2011-11-18 00:14:18

标签: c# winforms

我有按钮可以在点击时创建动画吗?

enter image description here

使用photoshop我创建了两个图像(启用和禁用)。在Windows窗体和单击事件中插入图片框。单击图像更改从启用到禁用,但您可以拥有动画吗?

像这样:

enter image description here

2 个答案:

答案 0 :(得分:1)

看起来你提到了WinForms,所以我会解决这个问题。是的动画是可能的,但一般来说它会有点工作。

CodeProject上似乎有一个通用动画框架(尽管有限)的实现。在评论中,schallos使用表达式树更好地实现了反射代码。

一般原则是:

  • 使用PictureBox以获得双缓冲
  • 使用计时器控件来控制重新绘制(在PictureBox上调用Invalidate()
  • 您可能希望在动画中添加一些缓动以使其显得更流畅;当用户点击很长时间时,会增加一点加速度。

答案 1 :(得分:1)

使用GIF不需要计时器。

使用Windows表单,您可以从为每个按钮创建动画GIF开始。它必须包括前向和后向。您可以通过“动画”面板通过Photoshop完成此操作。在PictureBox单击事件上,您可以将图像设置为播放或停止。

下面的代码会将您的图像设置在开始帧上。

imgButtonDimension = new FrameDimension(imgButtonDimension.FrameDimensionsList[0]);
imgButton.SelectActiveFrame(imgButtonDimension, 0);
pictureBox.Image = imgButton;`

如果这是你想采取的方法,我可以提供进一步的详细说明。