Desde C# podemos hacer fácilmente un formulario transparente o semitransparente. Un formulario de WindowsForms que están dentro del nombre de espacio System.Windows.Forms (lo que viene siendo el típico formulario) tiene una propiedad de tipo doble que se llama Opacity. Con esta propiedad, podemos indicar un valor entre 0 y 1, el valor 0 indica completamente transparente y 1 indica que es opaco (como son los formularios por defecto).
Este efecto puede ser útil para realizar efectos visuales que hagan mas agradable el uso de nuestra aplicación, como por ejemplo mostrar mensajes de alerta con un toque de transparencia con por ejemplo entre 90% y 95% de transparencia o por ejemplo capturar el evento cuando se mueve un formulario y efectuar una transparencia mientras este se encuentre en movimiento.
En CSharp
Form formulario = new Form();
formulario.Opacity = 0.50;
formulario.Show();
En Visual Basic
Dim formulario As New Form()
formulario.Opacity = 0.50
formulario.Show()
Corrección
@aundlang comenta acertadamente que el formulario.Opacity es de 0 a 1 y no de 0 a 100. Corrijo la entrada
Puedes mustrar un ejemplo!!! saludos
se puede hacer transparente el form, en tiempo de ejecucion?, si tienes tiempo te agradeceria que me mandaras un correo porfavor, de ante mano gracias…
Bueno, pido perdon por no poner un ejemplo, asi que edito la entrada para añadir dicho ejemplo. Por supuesto si se puede poner en tiempo de ejecucion, pero dependera del framework
creo que la sintaxis correcta es:
Form formulario = new Form();
formulario.Opacity = .5;
formulario.Show();
ya que el valor de la propiedad Opaciti es double y va de 0 a 1
aundlang tienes toda la razón, se me habrá pirado la pinza. Es de 0 a 1, por tanto es 0.5, 0.50 o .5 como bien dices.
El ejemplo que tienes de visual basic esta mal! Las intrucciones no llevan punto y coma, si yo soy el que esta mal me encantaria que me explicaras la razon! 😀
Gracias!
Es por todos conocidos que Basic no usa comas, un simple detalle que un buen programador sabe… no es necesario decir que está mal. Se le conoce como error típico de programación.
Los dos tenéis razón. El motivo por el que tendrían punto y coma es que lo seguramente lo hice en C# y lo traduje sobre la marcha y se me olvidaría quitarlas.
Gracias por comentarlo