Control.DoubleBuffered和带有ControlStyles.DoubleBuffer的Control.SetStyle在幕后和实践中有何不同?
此外,ControlStyles.DoubleBuffer和ControlStyles.OptimizedBuffer之间的区别是什么?在documentation page中定义的区别并不是很清楚。
最后,为什么文档中规定ControlStles.OptimizedDoubleBuffer和ControlStyles.DoubleBuffer都需要伴随ControlStyles.UserPaint和ControlStyles.AllPaintingInWmPaint
这些问题与Windows Forms应用程序(GDI+)有关。例如,我不知道WPF中是否存在这样的方法,但如果存在的话。
发布于 2013-01-23 11:32:16
DoubleBuffered属性是在.NET版本2中添加的一个方便的属性。由于过时的DoubleBuffer样式标志和新的OptimizedDoubleBuffer样式,样式标志变得太难弄清楚了。将该属性设置为true会设置所有正确的样式标志,因此您可以获得最佳性价比。包括AllPaintingInWmPaint,这个神秘的东西也需要打开才能让OnPaintBackground与OnPaint同时完成,尽管它们通常运行的时间不同。很重要。
总是偏爱属性,使用样式标志只会导致错误并损害可读性。
https://stackoverflow.com/questions/14471647
复制相似问题