Hallo,
auf meinem Formular befinden sich 23 Labels auf 23 Panels.
BackgroundImage der Form ist ein PNG und jedes Panel hat ein halbtransparentes PNG als BackgroundImage.
Man kann nun (auch als Release kompiliert und außerhalb der IDE gestartet) sehen, wie sich alles langsam aufbaut.
Ich habe schon alles mögliche probiert:
- DoubleBuffered = true: keine Veränderung
- BackgroundImageLayout = None (Panels und Form): schnellerer Aufbau, aber immer noch viel zu langsam
- In der OnPaint der Form die Bilder mit e.Graphics.DrawImage(Unscaled) gezeichnet: noch langsamer als mit Panels
In Visual Basic 6 funktioniert das ohne Probleme. Man merkt keinen Aufbau der Elemente!
Die einzige Möglichkeit, die mir noch einfällt, wäre, im Speicher ein Bild anzulegen, worauf dann alles gezeichnet wird. Danach wird es der Form als BackgroundImage zugewiesen. Aber wenn ich es so machen würde, würden sich sehr viele neue Probleme ergeben. Das kann ja nicht Sinn der Sache sein.
Kann ich den Vorgang irgendwie beschleunigen? Vielleicht durch direkte Aufrufe der Win32 Drawing APIs?