如何避免在Form.Invalidate()中闪烁?

时间:2011-11-28 15:30:41

标签: c# invalidation

我正在使用f.Invalidate()在我的C#程序中重新绘制图形,但图形在刷新时闪烁。我也在e.Graphics.DrawImage()方法中使用f_Paint()

2 个答案:

答案 0 :(得分:5)

您需要将DoubleBuffered设置为true。

由于它是受保护的属性,因此您需要自行控制:

class Canvas : Control {
    public Canvas() { DoubleBufferred = true; }
}

答案 1 :(得分:1)

人们说使用DoubleBufferred = true;,但您可以轻松地将表单上的DoubleBufferred参数更改为true,而无需使用代码。