У меня есть приложение, на котором есть тонны элементов управления. И он имеет огромное количество мерцания, особенно при запуске.Мерцание в приложении Windows Forms
Я применил это 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.
Идеальный вопрос (я хочу эту функциональность, я пробовал эту резолюцию, как мне добиться этой функциональности с помощью этого нового ограничения). –
BTW, я пробовал это исправление в тестовом приложении, работающем в Windows 7, и кнопки Maximize, Minimize и Close по-прежнему кажутся анимированными. – pmcilreavy
@fallenidol. Это хорошо знать. Все мои клиенты находятся на XP. – AngryHacker