在鼠标移动时绘制许多图像时防止闪烁

时间:2014-03-26 06:05:54

标签: .net winforms image

我正在寻找一种快速绘制图像的方法,每次使用System.Drawing.Graphics.DrawImage,OnMouseMove可以在屏幕上调用OnMouseMove,而不会像疯狂闪烁那样绘制256个32x32 PRELOADED 图像。谢谢:))

1 个答案:

答案 0 :(得分:1)

试试这个:

这是使用GDI +进行双缓冲的绝对最佳方式:

将以下3行添加到表单的构造函数中(New方法,其中显示"将初始化代码放在此处"):

SetStyle(ControlStyles.AllPaintingInWmPaint, True)
SetStyle(ControlStyles.DoubleBuffer, True)
SetStyle(ControlStyles.UserPaint, True)

现在,在Paint事件中绘制所有图形。它们将仅在Paint事件终止后出现!