
a_butta (Member)
Expert
    
Messaggi: 578
Iscritto: 16/03/2010
|
Ciao a tutti.
Ho il seguente problema: sto costruendo un progettino gioco-scacchi e per adesso mi stavo soffermando "costruire" la scacchiera con i pezzi sopra.
Posto il codice e a seguito spiego:
Codice sorgente - presumibilmente C++ |
public void Draw() { DrawBackground(); for (int x = 0; x <= 7; x++) for (int y = 0; y <= 7; y++) if (Celle[x, y] != null) { PictureBox image = new PictureBox(); image.Image = Celle[x, y].Immagine; image.BackColor = Color.Transparent; image.Parent = PanelContent; image.Width = Celle[x, y].Immagine.Width; image.Height = Celle[x, y].Immagine.Height / 2; image.Left = Celle[x, y].Position.X * SizeCell + (SizeCell / 2 - image.Width / 2); image.Top = Celle[x, y].Position.Y * SizeCell; image.Visible = true; } DrawBackground(); }
|
Il metodo DrawBackground non fa altro che crearmi i rettangoli colorati (bianchi e neri) della scacchiera sul pannello contenitore PanelContent attraverso il metodo g.FillRectangle(...).
Celle[x, y] è un array contenente l'oggetto Pezzo che viene visualizzato tramite un'immagine in una PictureBox, che ha come Padre PanelContent.
L'immagine (che carico da risorsa) è una GIF con sfondo trasparente, ma il risultato che ottengo è di assenza di trasparenza. L'immagine allegata rende immediatamente l'idea di cosa intendo.
Perchè la PictureBox mantiene il colore del Pannello originale prima che sia stato dipinto?
Grazie anticipatamente
Ultima modifica effettuata da a_butta il 06/07/2011 alle 1:01
|