如果我在页面上有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);