/ / Grafika a udalosť farieb - c #, winforms

Grafika a udalosť farieb - c #, winforms

Na môj formulár som nakreslil niečo

Po minimalizovaní a obnove formulára sa však formulár objasní. Čo by mohol byť problém?

A tieto kódy sú nesprávne: (JIT hovorí :)

private void Form1_Paint(object sender, PaintEventArgs e)
{
grForm = e.Graphics;
}

Pretože orezávacia väzba grFormu je menšia ako nula alebo príliš veľká.

odpovede:

1 pre odpoveď č. 1

Nemôžete uložiť e.Obrazový objekt získaný v udalosti Malovanie. Platí to iba vtedy, keď sa spustí udalosť Malovanie, ale hneď po tom. Použitie metódy formulára CreateGraphics () nefunguje ani tak, že sa vymaže hneď, ako sa formulár musí prehodnotiť. Ak ju minimalizujete a obnovíte napríklad.

Musíte použiť metódu Formulár neplatnosti ()vynúte znovu spustenie udalosti Malovanie. Potom nakreslite čokoľvek, čo treba nakresliť. Ak chcete, aby kreslenie bolo trvalé, musíte nakresliť bitovú mapu. Použite e.Graphics.DrawImage () v aplikácii Farba na kreslenie bitmapy. Nejde o to najlepšie, len najlepšie prekreslenie, kedykoľvek je to potrebné.