Logo UGIdotNET

Discussione 'Gestione dei disegni in una PictureBox'

# Pubblicato il 21 giu 2004 8.41 - Rispondi
Aedi Dea
Gestione dei disegni in una PictureBox
Ciao a tutti, qualcuno sa dirmi come impedire che i disegni creati in una PictureBox tramite Graphics vadano perduti quando riduco la finestra a icona?
Inoltre sapete dirmi come rendere visibile tutta l'immagine disegnata, visto che spesso eccede le dimensioni della PictureBox e risulta tagliata, tramite le barre di scorrimento (il controllo PictureBox è "dockato" in posizione "top" o "fill")?
THX a tutti, byez
# Pubblicato il 21 giu 2004 19.31 - Rispondi
Alessandro Di Noia
Re: Gestione dei disegni in una PictureBox
Se usi GDI+ per disegnare su una PictureBox tramite l'evento paint poi sei sempre tu a doverti occupare di ridisegnare l'immagine a seguito di un ridimensionamento o di uno spostamento della picturebox. In sostanza ogni volta che iconizzi e poi ripristini la form che contiene il controllo dei ridisegnare tutto. Un consiglio: potresti provare a disegnare su un oggetto di tipo image o bitmap dichiarato a livello di classe in modo che sia sempre disponibile e nell'evento paint nn fai altro che richiamare il metodo DrawImage.

Occhio solo che è un operazione che impiega una determinata quantità di memoria proporzionale alle dimensioni dell'immagine.

Per ciò che concerne le barre di scorrimento nn ho ben capito ma forse con la proprietà ClientRectangle del controllo o calcolandoti la dimensione dell'immagine prima di fare le operazioni di disegno potresti aggirare il problema.

HTH

Alessandro Di Noia
# Pubblicato il 22 giu 2004 10.17 - Rispondi
Aedi Dea
Re: Gestione dei disegni in una PictureBox
Io uso un codice simile a questo per disegnare:

Graphics g = pictureBox1.CreateGraphics();
g.drawRectangle(...);

Quindi presumo di utilizzare GDI+...

Il mio problema è di rendere "scrollabile" la PictureBox se le dimensioni del disegno eccedono quelle della PictureBox stessa, ho provato inserendo la PictureBox in un Panel con abilitata la proprità AutoScroll, ma nulla di fatto...

THX
# Pubblicato il 23 giu 2004 12.40 - Rispondi
Alessandro Di Noia
Re: Gestione dei disegni in una PictureBox
> Quindi presumo di utilizzare GDI+...
Sì stai usando GDI+

> Il mio problema è di rendere "scrollabile" la PictureBox se le dimensioni del disegno
> eccedono quelle della PictureBox stessa, ho provato inserendo la PictureBox in un Panel
> con abilitata la proprità AutoScroll, ma nulla di fatto...

Non è una cosa automatica, in quanto disegnando direttamente sul controllo, eludi la normale gestione del contenuto dello stesso e quindi sei sempre tu a doverti occupare di gestire le scrollbars. Questo è il rovescio della medaglia di GDI ;)

Purtroppo non so dirti molto sulle scrollbar ma sicuramente facendo un po' di googling lo trovi senza problemi

HTH
Alessandro Di Noia

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185