Происходит CreateParams - исключение дескриптора окна
Я использую CreateParams на своем собственном Tabcontrol, чтобы избавиться от его мерцания при изменении размера и загрузке. Это просто пустой класс, где я реализовал CreateParams.
protected override CreateParams CreateParams
{
get
{
CreateParams cp= base.CreateParams;
cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED
return cp;
}
}
Он хорошо работает, если у вас есть ярлыки, текстовые поля или кнопки, а также в Windows 7. Но если у вас есть панели, таблица табличного представления, сетка данных и Windows XP, то это работает не так хорошо. Например, столбцы таблицы данных не отображаются должным образом.
Я также нашел следующее, что кто-то разместил, если текущая система Windows XP. Но это происходит на моем XP исключение дескриптора окна перед запуском окна. С 0x02000000 только он загружается, но, как я уже писал, столбцы не отображаются должным образом.
cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED
cp.ExStyle |= 0x00080000; // Turn on WS_EX_LAYERED (On XP System)
Кто-нибудь знает какой-нибудь обходной путь относительно мерцающего и интегрированного просмотра данных, не получая этого исключения?