Oppure

Loading
05/07/11 23:00
a_butta
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:
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 05/07/11 23:01
aaa
06/07/11 9:27
Lafa_96
prova a caricare l'immagine con lo sfondo bianco, perchè a me lo sfondo lo da direttamente del back color della picturebox, magari il compilatore interpreta lo sfondo trasparente dell'immagine come bianco (potrei dire una cavolata correggetemi :D)
Ultima modifica effettuata da Lafa_96 06/07/11 9:28
aaa