Control.DoubleBuffered
和Control.SetStyle
与ControlStyles.DoubleBuffer
如何在实践中有所不同?
此外ControlStyles.DoubleBuffer
和ControlStyles.OptimizedBuffer
之间有什么区别? documentation page定义的差异并不十分明确。
最后,为什么文档中指出ControlStles.OptimizedDoubleBuffer
和ControlStyles.DoubleBuffer
都需要ControlStyles.UserPaint
和ControlStyles.AllPaintingInWmPaint
?
这些问题与Windows窗体应用程序(GDI +)有关。我不知道WPF
中是否存在这样的方法,但如果存在的话。
答案 0 :(得分:2)
DoubleBuffered属性是在.NET版本2中添加的便利属性。由于过时的DoubleBuffer样式标志和新的OptimizedDoubleBuffer样式,样式标志变得太难以理解。将属性设置为true会设置所有正确的样式标记,以便您获得最佳效果。包括AllPaintingInWmPaint,即使它们通常在不同的时间运行,也需要打开以使OnPaintBackground与OnPaint同时完成的神秘的那个。重要。
始终支持该属性,使用样式标志只会导致错误并损害可读性。