28/03/09 15:48
punkettone90
ciao, ho un problema con la classe graphics; come scrive anche Totem nella sua guida, la classe graphics non ha costruttori e ci si può accedere solo tramite l'evento paint.
io ho bisogno di scatenare questo evento ogni volta che devo disegnare qualcosa nel form, come possa fare?
grazie!!!
aaa
28/03/09 17:13
Thejuster
Dipende che tipo di evento ti serve
C'è esempio
Handles PictureBox1.Paint
che scatena l'evento appene viene disegnata la picturebox
Oppure il classico Click
per sapere se la picturebox e stata cliccata
28/03/09 17:26
punkettone90
devo scatenare l'evento paint della classe form
aaa
29/03/09 15:18
punkettone90
Avevo già letto la possibilità di mandare un EventArg (anche painteventarg) vuoto ma non funziona, inoltre visto che è proprio da painteventarg che si ricava l'oggetto graphics non posso mandargli un oggetto vuoto
comunque ho risolto così:
("qualsiasi cosa", new PaintEventArgs(Graphics.FromHwnd(oggettoformcorrente.handle), new rectangle(...));
la classe graphics è vero che non ha costruttori ma un suo oggetto lo si può recuperare in qualsiasi momendo dall'handle della form.
aaa
30/03/09 13:44
Il Totem
Sì, beh, non ho scritto tutto il codice perchè mi ero scordato che si stava parlando di Paint e non di un evento comune come Click. Il principio comunque era quello.
L'oggetto graphics che ottieni è quello che rappresenta il form, ma io parlavo di qualcosa di più simile ad un rendering real-time, ad esempio per visualizzare un grafico animato (tipo quello del consumo di memoria del task manager).
aaa