<p>I've seen the following code to enable double buffering on a winform:</p>

<pre><code>// Activates double buffering 
this.SetStyle(ControlStyles.DoubleBuffer |
   ControlStyles.OptimizedDoubleBuffer |
   ControlStyles.UserPaint |
   ControlStyles.AllPaintingInWmPaint, true);
this.UpdateStyles();
</code></pre>

<p>Is this different in any way from simply setting Form.DoubleBuffering = true?</p>

Setting a form's DoubleBuffering will set double buffering for that form. It's the same as calling
```
```
form.SetStyle(ControlStyles.OptimizedDoubleBuffer, value);
```
```
The other flags like UserPaint and AllPaintingInWmPaint are styles that aren't set by simply setting control.DoubleBuffering = true