Besserer Algorithmus zum Ausblenden einer Winform

Auf der Suche nach Code zum Ausblenden einer Winform bin ich auf diesen Code gestoßenSeite im MSDN Forum.

for (double i = 0; i < 1; i+=0.01)
{
    this.Opacity = i;
    Application.DoEvents();
    System.Threading.Thread.Sleep(0);
}

Dasfor loop hat ein nicht ganzzahliges Inkrement und, wie ich zuvor gefragt habe, ist dies keine gute Programmiertechnik (aufgrund der ungenauen Darstellung der meisten Dezimalstellen).

Ich habe mir diese Alternative ausgedacht.

for (double i = 0; i < 100; ++i)
{
    this.Opacity = i/100;
    Application.DoEvents();
    System.Threading.Thread.Sleep(0);
}

Welche davon ist effizienter?

Wenn es einen besseren Algorithmus zum Ausblenden eines Formulars gibt, bin ich sehr froh, wenn er enthalten ist.

Vielen Dank.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage