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