Mam bitmapę załadowaną na winform przez obrazek. Kiedy chcę zaktualizować obraz, próbuję jako taki:
imagebox.image = null;
draw(); //implements the drawing of the bitmap and assigns to the imagebox/winform
Będzie to jednak działać tylko wtedy, gdy ukryję, a następnie ponownie wyświetlę formularz? Jak mogę to obejść?
EDYCJA: problem rozwiązany.
Odpowiedzi:
1 dla odpowiedzi № 1Ułatw sobie ustawienie właściwości obrazu. Na przykład:
private Image mImage;
public Image Image {
get { return mImage; }
set {
mImage = value;
Invalidate();
}
}
Teraz widoczny obraz odświeża się automatycznie.
1 dla odpowiedzi nr 2
Czy próbowałeś nawiązać połączenie? Invalidate(imagebox.Bounds);
na końcu draw()
metoda?
To powinno wymusić odświeżenie, więc nie musisz już ukrywać i pokazywać formularza.
1 dla odpowiedzi nr 3
Powinieneś sprawdzić ten link Bob Powell GDI + FAQ. Jest kilka jasnych instrukcji dla niektórych z podstaw GDI, ten link prowadzi do przykładowego rysunku PictureBox.
Zasadniczo chcesz dołączyć do zdarzenia Paint dla ImageBox i wywołując Invalidate () za każdym razem, gdy chcesz ponownie rysować.