启用双缓冲

Ang*_*ker 1 doublebuffered visual-studio-2008 winforms

我已经看到以下代码在winform上启用双缓冲:

// Activates double buffering 
this.SetStyle(ControlStyles.DoubleBuffer |
   ControlStyles.OptimizedDoubleBuffer |
   ControlStyles.UserPaint |
   ControlStyles.AllPaintingInWmPaint, true);
this.UpdateStyles();
Run Code Online (Sandbox Code Playgroud)

这与设置Form.DoubleBuffering = true有什么不同?

小智 5

Control.DoubleBuffering 施行

SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, value);
Run Code Online (Sandbox Code Playgroud)

所以你的代码也设置ControlStyles.UserPaint好了(这点可能没什么影响).