Procedura: assegnare uno sfondo trasparente al controllo

Per impostazione predefinita, i controlli non supportano sfondi trasparenti. È tuttavia possibile assegnare a un controllo un colore di sfondo opaco, trasparente o parzialmente trasparente utilizzando il metodo SetStyle nel costruttore. Il metodo SetStyle della classe Control consente di impostare particolari preferenze di stile per i controlli e può essere utilizzato per attivare o disabilitare il supporto per gli sfondi trasparenti.

Nota

I controlli Windows Forms non supportano la trasparenza vera e propria. Lo sfondo di un controllo Windows Forms trasparente viene disegnato dal relativo padre.

Per assegnare al controllo uno sfondo trasparente

  1. Individuare il costruttore relativo alla propria classe di controlli.

    Il costruttore viene visualizzato nel file di codice del controllo. In Visual Basic il costruttore è il metodo denominato New. In C# il costruttore è il metodo con lo stesso nome del controllo e senza valore restituito.

  2. Nel costruttore chiamare il metodo SetStyle del form.

    Mediante queste operazioni il controllo sarà in grado di supportare uno sfondo trasparente.

    SetStyle(ControlStyles.SupportsTransparentBackColor, True)
    
    SetStyle(ControlStyles.SupportsTransparentBackColor, true);
    
  3. Dopo la riga di codice aggiunta nel passaggio precedente impostare la proprietà BackColor del controllo su Transparent.

    Me.BackColor = Color.Transparent
    
    this.BackColor = Color.Transparent;
    

    È anche possibile creare colori parzialmente trasparenti utilizzando il metodo FromArgb. Per ulteriori informazioni sui colori, vedere Utilizzo di classi grafiche gestite.

Vedere anche

Attività

Procedura: disegnare linee opache e semitrasparenti

Procedura: creare Windows Form trasparenti

Riferimenti

SetStyle

FromArgb

Altre risorse

Sviluppo di controlli Windows Form personalizzati con .NET Framework

Utilizzo di classi grafiche gestite

Cronologia delle modifiche

Data

Cronologia

Motivo

Settembre 2010

Rimozione del linguaggio J# e aggiornamento dei passaggi.

Commenti e suggerimenti dei clienti.