Como desaparecer progresivamente un formulario al cerrarlo

En algunas ocasiones queremos que nuestras aplicaciones puedan emular el comportamiento que tienen los mensajes que emite Microsoft Outlook cuando nos llega un correo, así que me puse a probar una propiedad de los formulario llamada Opacity que nos permite cambiar la transparencia de nuestro formulario.

El código se vería como sigue.


private void Form1_FormClosing(
object sender, FormClosingEventArgs e)
{

for (double i = this.Opacity*100 ; i > 0; i--)
{
this.Opacity = i/100;
}
}

Y el efecto se ve súper cool.

Saludos