Schwarzer kurz auffflackernder Hintergr. b. Ändern der Form.Opacit

22/01/2010 - 08:51 von LISSI | Report spam
Moin Community

Genutztes System: WIN XP mit Visual C# 2008

Wollte für meine App die geöffneten Fenster (Forms) langsam ausblenden
(FadeOut), was aber bei grossen Fenstern (so ab 1000 x 600) zu dem Phànomen
führt, dass beim erstmaligen setzen der Opacity auf 99% das Form kurz als
komplett schwarz flackernd gezeichnet wird und erst danach (98% ...50%)
sauber durchscheinend wird und das "FadeOut" sauber funktioniert.
Die Funktion "FadeForm(...)" wird in der OnFormClosing aufgerufen.

Weitere Feststellung:
Wird die Opacity von vorne herein (also schon beim Laden des Forms) auf 99%
gesetzt (f.Opacity=0.99) dann tritt dieses Phànomen nicht auf.

Warum ? Ideen ?

Code:

public static void FadeForm(System.Windows.Forms.Form f, int NumberOfSteps)
{
float StepVal = (float)(100f / NumberOfSteps);
float fOpacity = 100f;
for (int b = 0; b < NumberOfSteps; b++)
{
f.Opacity = fOpacity / 100;
f.Refresh();
f.Opacity -= StepVal;
}
}

Danke für die ev. Hilfe
 

Lesen sie die antworten

#1 LISSI
22/01/2010 - 09:09 | Warnen spam
Weitere Feststellung: (Ergànzung)
=Wird die Opacity von vorne herein (also schon beim Laden des Forms) einmal
auf 99%
gesetzt (f.Opacity=0.99) und danach wieder auf 100% (f.Opacity=1.0) dann
tritt dieses Phànomen nicht auf.

Ähnliche fragen