我将此添加到我的表单的构造函数代码中:
this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.DoubleBuffer, true);
Run Code Online (Sandbox Code Playgroud)
但是当它加载控件时,无论何时更改(表单及其组件经常更改(需要更新)),它仍会显示丑陋的工件.
我需要做些什么不同的事情?
如何使用C#(Windows窗体)启用控件的双缓冲?
我有一个面板控件,我正在绘制内容,也是一个所有者绘制的选项卡控件.两者都有闪烁,所以如何启用双缓冲?
我已经看到以下代码在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有什么不同?