0

我需要“动画”一个箭头。它可以向任何方向(上、下、左、右和对角线)移动,箭头将在末端。它需要看起来好像它从开始到结束都在增长。为了使事情变得更复杂,它必须在用户控件中,因此可以将其添加到表单中的控件集合中并将其删除以将其从屏幕上删除,并且它的背景是真正透明的(没有颜色。透明)所以我无法绘制背景以“清除”上一行。我已经将它设为静态(从起点绘制到终点),但我无法为其设置动画。我试图在用户控件中添加一个计时器,但我未能获得正确的算法来计算线路增长时的中间端。任何帮助,将不胜感激。谢谢

4

2 回答 2

0

在 Windows 窗体上使用动画时,您必须使用另一个线程。研究使用后台工作者:http: //msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx

于 2010-03-16T12:55:14.613 回答
0

您不需要另一个线程 - 我已经成功实现了 Windows 窗体动画。

我的设计:

  • 使用 Windows.System.Forms.Timer 对象定期调用回调函数“Animate()”
  • Animate() 函数更新箭头的属性,然后在 Windows 控件上调用 Invalidate()
  • 这一切都发生在同一个 UI 线程中,因此 yuo 不会获得任何闪烁效果(只要您的控件打开了双缓冲)。
于 2010-11-11T12:12:59.353 回答