Control.DoubleBuffered 和 Control.SetStyle 之间的区别
本文关键字:Control 区别 之间 SetStyle DoubleBuffered | 更新日期: 2023-09-27 17:55:40
Control.DoubleBuffered
和ControlStyles.DoubleBuffer
Control.SetStyle
在引擎盖下和实践中有何不同?
此外,ControlStyles.DoubleBuffer
和ControlStyles.OptimizedBuffer
有什么区别?文档页面上定义的差异并不十分清楚。
最后,为什么文档中指定ControlStles.OptimizedDoubleBuffer
和ControlStyles.DoubleBuffer
都需要附有ControlStyles.UserPaint
和ControlStyles.AllPaintingInWmPaint
?
这些问题与 Windows 窗体应用程序 (GDI+) 有关。例如,我不知道WPF
中是否存在此类方法,但如果存在。
DoubleBuffered 属性是在 .NET 版本 2 中添加的方便属性。 到那时,由于过时的DoubleBuffer样式标志和新的OptimizedDoubleBuffer样式,样式标志变得太难弄清楚了。 将属性设置为 true 会设置所有正确的样式标志,以便您获得最佳收益。 包括AllPaintingInWmPaint,这个神秘的也需要打开才能让OnPaintBackground与OnPaint同时完成,即使它们通常在不同的时间运行。 重要。
始终支持属性,使用样式标志只会导致错误并损害可读性。