2010-02-01 17 views
5

Come dovrei fare per creare un "buco" dinamico in un modulo di Windows attraverso il quale l'utente potrebbe vedere il desktop effettivo invece del modulo? In questo momento ho creato una forma traslucida sopra l'intero schermo e sto cercando di vedere attraverso quella forma traslucida.Windows Form "Foro"

risposta

4

In alternativa, se avete bisogno di forma rettangolare di "buco" è possibile impostare la proprietà del modulo TransparencyKey ad un certo colore e quindi creare un pannello con lo sfondo dello stesso colore. (Quel pannello sarà trasparente durante la corsa.)

9

Utilizzare la proprietà Region del modulo.

Rectangle rect = new Rectangle(Point.Empty, this.Size); 
Region region = new Region(rect); 

rect.Inflate(-1 * (this.Width/3), -1 * (this.Height/3)); 
region.Exclude(rect); 

this.Region = region; 

Questo dovrebbe mettere un buco attraverso il vostro modulo.

+0

Risposta eccellente! Semplice e carino! –