Táto stránka pre svoju správnu funkčnosť vyžaduje súbory cookies. Slúžia na authentifikáciu návštevníka, analýzu návštevnosti a reklamnú personalizáciu.
logo Knowledge base KB
mobile

Odstránenie blikania formulára

Pri väčších vizuálnych úpravách viditeľných formulárov môže dochádzať k nežiadúcemu preblikávaniu (flickering). Tento nežiadúci efekt sa dá v niektorých prípadoch obmedziť nastavením vlastnosti formulára DoubleBuffered na true, no toto nastavenie nie vždy má požadovaný efekt, keďže sa nemusí aplikovať na vnorené vizuálne komponenty.

Tento problém sa ná vyriešiť pridaním nasledujúceho kódu do formulára.

Zdrojový kód:
using System;
using System.Windows.Forms;

...

protected override CreateParams CreateParams
{
    get
    {
        CreateParams handleParam = base.CreateParams;
        handleParam.ExStyle |= 0x02000000;
        return handleParam;
    }
}

...

Číslo 0x02000000 je hodnotou konštanty WS_EX_COMPOSITED z knižnice Windows.h, ktorá je príznakom toho, že sa má celé okno vrátane komponent vykresľovať ako by malo príznak DoubleBuffered


Bližšie info > link <

Keywords: C#, Form, Flickering

Codeblog