cambiar opacidad al mover

15/07/2004 - 08:57 por Angel | Informe spam
Buenas, estoy intentando hacer que un Form, al moverlo
desde la barra de arriba, cambie su opacidad, a digamos,
un 50%, pero que despues de soltarlo, que vuelva a ser la
que era. ¿Cómo podria hacerlo? Gracias de antemano.
 

Leer las respuestas

#1 Alejandro Perez
15/07/2004 - 15:45 | Informe spam
Buenos dias Angel! Como estas?... Esta interesante tu
pregunta.. :D Cuando la lei, lo primero que pense fue en
dos cosas, la propiedad Opacity y el evento Move.. pero
luego me di cuenta de algo... No tienes manera "elegante"
de saber cuando el Form se dejo de mover, o no se me
ocurre en este momento, asi que la unica alternativa es
colocar un señor que se active en el evento move y que
monitoree si se movio el form desde los 100 milisegundos
anteriores.

Eso dio como resultado algo como esto:

private void Form1_Move(object sender, System.EventArgs e)
{
//Como se movio el formulario, se coloca
transparente el fondo y se habilita el monitor.
this.Opacity=0.50;
timer1.Enabled=true;
}
private void timer1_Tick(object sender, System.EventArgs
e)
{
//El monitor va a estar verificando cada 100
milisegundos si el formulario se movio desde el ultimo
evento.
if(objP==this.Location)
{
//Como se quedo en el mismo lugar,
colocamos el fondo 100% y apagamos el monitor.
this.Opacity=1.00;
timer1.Enabled=false;
}
else
{
//Si no es la misma posicion, guardamos
la nueva posicion en un objeto "Point" para compararlo en
los proximos 100 milisegundos.
objP=this.Location;
}
}

Prueba eso y me avisas si te sirve...
Si alguien tiene otra solucion, bienvenida!

Cuidate!

Alejandro Perez
MCSD/MCDBA/MCT
Caracas - Venezuela



Buenas, estoy intentando hacer que un Form, al moverlo
desde la barra de arriba, cambie su opacidad, a digamos,
un 50%, pero que despues de soltarlo, que vuelva a ser


la
que era. ¿Cómo podria hacerlo? Gracias de antemano.
.

Preguntas similares