[ explorer-1 @ 20.08.2007. 15:35 ] @
Pozdrav,

Ovako, problem je kratak, nacrtam u pictureBox-u sliku pomoću GDIa. Konkretno radi se o nekim linijama (drawline). Problem je što se ukoliko prođem nekim prozorom preko tog, onda se to izbriše, isto se dogodi ako minimiziram prozor.

Ima li tko kakvo rješenje? (ne mogu koristiti on-paint event, jer tek kasnije tokom programa dobijem varijable koje trebam iscrtati)
[ Pharos @ 20.08.2007. 15:40 ] @
Pa sve sto crtas mora biti u Paint metodi.
[ PremierApostile @ 20.08.2007. 17:26 ] @
Prouci Double buffering tehniku. Ova tehnika bi resila tvoj problem.
[ explorer-1 @ 20.08.2007. 17:35 ] @
A kako se to radi?
[ masetrt @ 23.08.2007. 13:53 ] @
Double buffering nece resiti tvoj problem Bice da si nesto lose isplanirao. Uvedi neke member promenljive koje ce pamtiti e parametre i onda ih primenjujs "u Paint" eventu. Mozda ne bi bilo lose da das kod ili jos bolje da malo podrobnije objasnis problem.
[ toxi_programer @ 23.08.2007. 18:21 ] @
@explorer-1,
To nestaje zato što se prozor ponovo iscrtao. Kada god prozor( ili njegov deo) treba da se iscrta ponovo podiže se i OnPaint događaj. Pošto ti crtanje ne uradiš u OnPaint mora da se izgubi sve što si prethodno nacrtao.
Rešenje je samo jednom: sva crtanja radiš u OnPaint. Kažeš da na početku nemaš sve potrebne podatke za to... Pa najjednostavniji način jeste da uvedeš bool promeljivu i u OnPaint prvo proveriš njenu vrednost - ako je na primer true to znači da treba da se iscrta nešto dok se u suprotnom ništa ne događa. Vrednost te bool promenljive menjaš iz bilo kog dela programa, shodno potrebama.