如何使用 C#(Windows 窗体)启用控件的双缓冲?
我有一个面板控件,我正在向其中绘制内容,还有一个所有者绘制的选项卡控件。两者都有闪烁,那么如何启用双缓冲?
如何使用 C#(Windows 窗体)启用控件的双缓冲?
我有一个面板控件,我正在向其中绘制内容,还有一个所有者绘制的选项卡控件。两者都有闪烁,那么如何启用双缓冲?
在控件的构造函数中,适当地设置 DoubleBuffered 属性和/或 ControlStyle。
例如,我有一个简单的 DoubleBufferedPanel,其构造函数如下:
this.DoubleBuffered = true;
this.SetStyle(ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint |
ControlStyles.ResizeRedraw |
ControlStyles.ContainerControl |
ControlStyles.OptimizedDoubleBuffer |
ControlStyles.SupportsTransparentBackColor
, true);
这里的一些信息:
使用继承自 System.Windows.Forms.Control 的 DoubleBuffered 属性。
System.Windows.Forms.Form myForm = new System.Windows.forms.Form();
myForm.DoubleBuffered = true;