Мерцание в приложении Windows Forms
У меня есть приложение, в котором есть множество элементов управления. И у него огромное количество мерцания, особенно при запуске.
Я применил этофиксировать к этому.
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000; // WS_EX_COMPOSITED
return cp;
}
}
Это сработало отлично - мерцание было уменьшено на довольно невероятную величину. Однако побочным эффектом является то, что кнопки «Свернуть», «Развернуть» и «Закрыть» в правом верхнем углу окна не анимируются, когда я перемещаю указатель мыши или щелкаю по ним (они все же работают). Это дает приложению ощущение зависания.
Как сохранить WS_EX_COMPOSITED, сохранив удобство использования кнопок «Развернуть», «Свернуть» и «Закрыть»?
Это происходит в Windows XP. Как отметил @fallenidol, это не проблема для Windows 7.