[C#] Rysowanie bez znikającej grafiki


(Marcin Obala) #1

Witam

Chciałbym coś narysować na formie jednak aby to co zostało narysowane nie znikało np. po zminimalizowaniu aplikacji. Używam zwykłych obiektów graphics. Ma ktoś jakąś sugestię?

Pozdrawiam.


(nnick) #2

event Paint okna/formy


(Marcin Obala) #3

I co dalej? Jak mam zablokować to co zostało narysowane? Ja nie chcę żeby to było rysowane po załadowaniu się okna tylko np. po wciśnięciu przycisku.


(nnick) #4

To już musisz sam wykombinować jak tu określić czy obiekt ma być w danym momencie narysowany czy nie. Zwykły boolean styknie. Plus do tego odświeżenie okna (this.Refresh():wink:


(Marcin Obala) #5

Ok, to już rozumiem założenie tylko czy to jest zbyt nieefektywny sposób, wszystko od nowa rysowane przecież będzie. A czy ma być rysowane to zrobię na zasadzie liczb binarnych, jeśli jeden to rysuj, jeśli 0 to nie.


(nnick) #6

Sposób byłby nieefektywny przy animacji albo bardzo dużej ilości obiektów do rysowania (do czego akurat WinForms się nie nadaje, bo bazuje na starym GDI+ jeżeli się nie mylę). Tutaj problemu nie będzie. Możesz sobie spokojnie booleanami określać czy dana rzecz ma być rysowana czy nie.

Na przyszłość przy bardziej zaawansowanych projektach gdzie jest sporo dynamicznych kształtów polecam przesiadkę na WPF.