如何阻止简单的动画闪烁?

时间:2016-05-27 09:08:18

标签: c#

我正在玩C#并尝试执行一个简单的动画 - 一个不停旋转的方块。使用以下代码:

private void logoContainer_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

            int rectangleW = 80;
            int rectangleH = 80;
            int offset = 15;

            var m = g.Transform;

            g.TranslateTransform(offset + rectangleW / 2, offset + rectangleH / 2);
            g.RotateTransform(angle);

            g.FillRectangle(Brushes.Black, -(rectangleW / 2), -(rectangleH / 2), rectangleW, rectangleH);

            Font font = new Font("Arial", 30);

            g.Transform = m;


        }
.....

private void timer1_Tick(object sender, EventArgs e)
        {
            angle += 1;
            if(angle > 360)
            {
                angle = 1;
            }
            Refresh();
        }

动画有效,但一直闪烁。我如何摆脱这种行为?

0 个答案:

没有答案