开发过程中图片拖动设计为可支持多个图片同时拖动发现屏幕闪烁比较严重,于是继承了panel,开启其双缓冲,效果还算比较满意。具体代码如下:
public class DoubleBufferPanel : Panel { public DoubleBufferPanel() { this.SetStyle(ControlStyles.DoubleBuffer | //双缓冲 ControlStyles.UserPaint | //自行绘制 ControlStyles.AllPaintingInWmPaint, //忽略WM_ERASEBKGND窗口消息,以减少闪烁 true); this.UpdateStyles(); } }