Происходит 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)

Кто-нибудь знает какой-нибудь обходной путь относительно мерцающего и интегрированного просмотра данных, не получая этого исключения?

0 ответов

Другие вопросы по тегам