动画期间C#闪烁

时间:2020-08-07 06:59:11

标签: c# winforms

我有一个Windows窗体项目,该动画设计了矩形的运动,但是所有动画都伴随着一些闪烁,这些闪烁主要来自绘制矩形的边界。我已经为该表单启用了双重缓冲,尽管这有助于解决问题。有什么我可以做的代码明智的修复它吗?下面是处理绘制矩形的代码片段。我遗漏了提供绘制矩形的代码,并用摘要代替了该代码,因为我认为这与我的问题无关。所有这些都通过一种方法来完成,该方法将传递其所绘制表单的实例(DrawForm),Graphics对象(g),Pen对象(pen)和Brush对象(brush)。

   for(int i = 0; i < animation_frames; i++)
   { 
       for(int b = 0; b < objects.Count; b++)
       { 
         /*Summary: Checks what each object is doing for this frame. Populates a RectangleF array
         called recs with rectangles corresponding to the objects' new positions.
         */
       }
       DrawForm.Refresh();
       g.FillRectangles(brush, recs);
       g.DrawRectangles(pen,recs);
       System.Threading.Thread.Sleep(20);   
     
 
   }

0 个答案:

没有答案