Mám bitmapu načítanú na winform cez imagebox. Keď chcem aktualizovať obrázok, ktorý skúsim takto:
imagebox.image = null;
draw(); //implements the drawing of the bitmap and assigns to the imagebox/winform
Bude to však fungovať iba vtedy, keď sa skryjem a potom znova zobrazí formulár? Ako sa k tomu dostanem?
EDIT: Problém bol vyriešený.
odpovede:
1 pre odpoveď č. 1Urobte si nastavovač vlastností obrazu múdrejší. Napríklad:
private Image mImage;
public Image Image {
get { return mImage; }
set {
mImage = value;
Invalidate();
}
}
Teraz sa viditeľný obraz automaticky obnoví.
1 pre odpoveď č. 2
Skúšali ste volať Invalidate(imagebox.Bounds);
na konci draw()
metóda?
To by malo vynútiť prekreslenie, takže sa nemusíte skryť a zobraziť formulár znova.
1 pre odpoveď č. 3
Mali by ste sa pozrieť na tento odkaz Bob Powell GDI + FAQ, Je tu niekoľko jasných pokynov pre niektoré základy GDI, tento odkaz ide na príklad kreslenia PictureBox.
V podstate chcete byť pripojení k udalosti Skicár pre ImageBox a volať Invalidate () vždy, keď chcete re-draw.