2008-10-06 18 views

Respuesta

28
this.BackgroundImage = //Image 
this.FormBorderStyle = FormBorderStyle.None; 
this.Width = this.BackgroundImage.Width; 
this.Height = this.BackgroundImage.Height; 
this.TransparencyKey = Color.FromArgb(0, 255, 0); //Contrast Color 

Esto le permite crear un formulario basado en una imagen y usar un índice de transparencia para que parezca que el formulario no es rectangular.

+1

¿No parece estar funcionando con VS2005 (.Net 2.0) –

+1

Mi mal, ahora se está trabajando. Gracias. –

+0

Desafortunadamente, esto no funciona si la Opacidad del formulario está configurada en un valor distinto al 100% (aparentemente .NET aplica el efecto de opacidad y luego la máscara de transparencias). – MusiGenesis

7

@Geoff muestra el camino correcto en winforms.

Pero si planea usar WPF en lugar de Winforms, WPF (.NET3.0 +) ofrece formas muy flexibles de crear ventanas personalizadas de anyshape. Echa un vistazo a este artículo también http://www.codeproject.com/KB/WPF/wpfpopup.aspx

Cuestiones relacionadas