Каково различие между ControlStyles. DoubleBuffer и ControlStyles. OptimizedDoubleBuffer?
ControlStyles. DoubleBuffer не обнаруживается в Intellisense, выпадающем тогда как ControlStyles. OptimizedDoubleBuffer на самом деле перечислен.
Документация MSDN не имеет значения, сразу очищаются (мне, по крайней мере).
Я нашел эту тему:
DoubleBuffered = true sets both ControlStyles.OptimizedDoubleBuffer AND ControlStyles.AllPaintingInWmPaint.
В какой-то момент было намерение опровергнуть DoubleBuffer и использовать вместо него OptimizedDoubleBuffer, однако поток вдается в причины, по которым это может быть плохой идеей (чего я не понимаю)
Похоже, что вся ситуация немного запутана, однако в конечном итоге эти два флага делают очень похожие вещи - поток указывает, что между OptimizedDoubleBuffer и DoubleBuffer все еще есть тонкие различия, но не объясняет, что они собой представляют.
.Интересно. Приведите меня к поиску в web.
от Microsoft
Документация для OptimizedDoubleBuffer показывает, что это поможет уменьшить мерцание и имеет тот же эффект, что и установка UserPaint и AllPaintingInWmPaint ControlStyles в true. Однако если OptimizedDoubleBuffer ControlStyle установлен в true без установки параметров UserPaint и AllPaintingInWmPaint, то видимого уменьшения мерцания не наблюдается. Настройка UserPaint и AllPaintingInWmPaint ControlStyles приведет к той же оптимизации мерцания, что и в Visual Studio 2003 при настройке DoubleBuffer, UserPaint и AllPaintingInWmPaint ControlStyles. Другими словами - похоже, что нет никакой разницы между OptimizedDoubleBuffer и устаревшим DoubleBuffer.
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=94096