【问题标题】:Create Animated Button创建动画按钮
【发布时间】:2017-03-02 03:04:26
【问题描述】:

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

我使用 Photoshop 创建了两个图像(启用和禁用)。在 Windows 窗体中插入图片框并单击事件。单击图像由启用变为禁用,但您可以有动画吗?

像这样:

【问题讨论】:

  • 它是基于 XAML 还是基于 WinForms? XAML 中的动画很简单。
  • 地铁?赢表格? WPF?银光? ASP.NET?单触?
  • 我将它重新标记为 winforms,因为您提到了 Windows Forms 和 PictureBox。您使用哪个 GUI 很重要,因为答案会非常不同。
  • 这对我来说很难!

标签: c# winforms


【解决方案1】:

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

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

一般原则是:

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

【讨论】:

    【解决方案2】:

    使用 GIF 不需要计时器。

    使用 Windows 窗体,您可以从为每个按钮创建动画 GIF 开始。它必须包括向前和向后的方向。您可以通过 Photoshop 通过“动画”面板执行此操作。在 PictureBox 点击事件上,您可以设置图片播放或停止。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-08
      相关资源
      最近更新 更多