public class WindowAnimator
{
Form window;
float Step;
Timer time;
public WindowAnimator(Form FormToAnimate)
{
window = FormToAnimate;
}
public void WindowFadeIn(int interval, float steps)
{
//Salva steps
Step = steps;
//Crea il Timer
time = new Timer();
time.Interval = interval;
time.Tick += new EventHandler(Timer_TickIn);
time.Start();
}
private void Timer_TickIn(object sender, EventArgs e)
{
//Controlla l'opacità del form
if (window.Opacity != 1.0)
{
//Se è inferiore di 1 incrementa l'opacità
window.Opacity += Step;
}
else
{
//Finito, stoppa il timer.
time.Stop();
}
}
public void WindowFadeOut(int interval, float steps)
{
Step = steps;
time = new Timer();
time.Interval = interval;
time.Tick += new EventHandler(Timer_TickOut);
time.Start();
}
private void Timer_TickOut(object sender, EventArgs e)
{
if (window.Opacity != 0.1)
{
window.Opacity -= Step;
}
else
{
time.Stop();
}
}
}
Molti software utilizzano questo effetto, soprattutto nel loro avvio iniziale (loading screen). Ecco una classe per realizzarlo:
Pubblicato in: C-sharp
Iscriviti a:
Commenti sul post (Atom)
1 commenti:
Davvero interessante, pensavo che pochi in italia trattassero C# sui loro blog ;) siamo in due da oggi!
Ti linko nel mio blogroll!
Posta un commento