Ciao,
non usare una picturebox per ogni immagine, ma disegna direttamente nel graphic della superficie che utilizzi per visualizzare l'immagine (che potrebbe anche essere 1 picturebox, ma solo 1!)
puoi fare in diversi modi, uno potrebbe essere quello di ereditare dalla classe del controllo che usi per visualizzare l'immagine (per esempio una pictureBox) e fare un override del metodo OnPaint, in questo modo ottieni un oggetto di tipo System.Windows.Forms.PaintEventArgs, tra le sue proprietà troverai la Graphics che ti consentirà di utilizzare su di essa il metodo DrawImage per disegnare l'immagine, a questo dovrai passargli l'immagine (tipo Image) e la posizione relativa alla picturebox con coordinate xy (tipo Point o due parametri Integer), infine dovrai passare il tipo PaintEventArgs al metodo base.
Ovviamente le tue immagini dovranno avere le trasparenze.
comunque è più facile a farsi che a dirsi
:
codice:
Public Class MyPictureBox
Inherits PictureBox
Protected Overrides Sub OnPaint(pe As System.Windows.Forms.PaintEventArgs)
pe.Graphics.DrawImage(New Bitmap("TuoPercorso/Immagine"), 0, 0)
MyBase.OnPaint(pe)
End Sub
End Class
... e ovviamente le devi disegnare in sequenza logica, dalla più "bassa" alla più "alta".