Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Problemi con l'oggetto Graphics
lunedì 25 ottobre 2004 - 21.11
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
zhart
Profilo
| Newbie
17
messaggi | Data Invio:
lun 25 ott 2004 - 21:11
Sono alle prime armi.
cerco di fare un programma di disegno semplice semplice.
allora creo la windows application, ci metto dentro un panel e ottengo da questo il Graphics.
Allora tramite il mouse l'utente potrà disegnare sul panel.
Il problema è che quando si riduce a icona il programma e lo si riapre il pannello ridiventa bianco.
Come devo fare affichè ciò non accada?
aspetto vostri gentili consigli, Francesco
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
mar 26 ott 2004 - 08:52
Ciao..succede perchè ogni volta che riduci a icona, e poi ripristini una finestra, essa viene ridisegnata dal sistema, e al refresh della finestra lui ricrea tutta la form, senza tener conto del tuo disegno..per evitare ciò ti devi salvare in tempo reale i punti dove il tuo Mouse ha tracciato il disegno, (oppure ti salvi tutto il desegno stesso alla fine del tracciato mouse), e lo devi rinfrescare ogni volta che la form si ricrea.
Esiste il metodo OnPaint, è li che va inserito il refresh del tuo disegno personale..vedrai che te lo rittrovi anche se la form viene ricreata.
zhart
Profilo
| Newbie
17
messaggi | Data Invio:
mar 26 ott 2004 - 11:07
grazie 1000 Andy.
rimane solo un piccolo altro intoppo e il gioco è fatto.
Ho pensato di salvare il contenuto dell'oggetto Graphics in un oggetto GraphicsState.
Sotto tuo consiglio nel metodo OnPaint poi richiamo myGraphics.Restore (myGraphicsState).
Ho deciso di creare il GraphicsStore al momento in cui l'applicazione viene ridotta a icona, ma non trovo il metodo giusto da ridefinire a tale scopo.
Faccio tutto questo perchè mi sembra uno spreco salvare ad ogni nuova operazione di disegno.
Francesco
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
mar 26 ott 2004 - 11:41
Per risolvere il tuo ultimo problemino ti riporto ciò che dice MSDN a riguardo:
Proprietà Form.MinimizeBox
...con la riduzione a icona di un form in fase di esecuzione viene generato un evento Resize. La proprietà WindowState riflette lo stato corrente della finestra...
Quindi un metodo potrebbe essere (avendo una form con FormBorderStyle =FixedSingle) quando ricevi l'evento Resize, infatti tu non puoi cambiare manualmente le sue dimensioni, l'unitco momento in cui cambiano è quando viene trasformata a icona..
Ciao.
zhart
Profilo
| Newbie
17
messaggi | Data Invio:
mar 26 ott 2004 - 13:07
ok adesso è tutto a posto, a rivederci!!!
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
mar 26 ott 2004 - 13:52
Perfetto..ciao.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !