绘制2行

时间:2012-04-12 04:52:35

标签: c# .net winforms animation

如果我在页面上有2行

我如何设置第一行的动画以达到第二行的位置?

2 个答案:

答案 0 :(得分:2)

添加一个'计数器'变量,该变量将是该行在两个位置之间行进的距离的百分比。将其初始化为零,因为它从起始位置开始。添加一个计时器,每次打勾都会增加“计数器”并使客户区无效,以便进行重新绘制。一旦'计数器'达到100,所以它100%到达目标,你就不再需要计时器。

在油漆程序中,您已经知道了起始位置和结束位置,因此只需在两者之间以“计数器”百分比绘制线。所以,如果你知道startX,你知道endX你的绘制版本是startX +((endX - startX)/ 100 * counter)。对线的顶部,左侧,右侧和底部执行此操作,您就完成了。

答案 1 :(得分:1)

如果我没有错,你眨眼了,这是你的问题? 试试这个BufferedGraphics 小例子

System.Drawing.Graphics g = this.CreateGraphics();
    System.Drawing.BufferedGraphicsContext dc = new BufferedGraphicsContext();
    BufferedGraphics backbuffer = dc.Allocate(g, new Rectangle(new Point(0, 0), g.VisibleClipBounds.Size.ToSize()));
    backbuffer.Graphics.DrawLine(Pens.White, 10, 10, 10, 100);
    backbuffer.Render(g);