Ist denn das Laden oder das Anzeigen langsam? Das kannst du testen, indem du ein anderes Fenster davor-, und dann wieder wegschiebst. Dauert der Bildaufbau dann auch so lange, ist wirklich das Zeichnen das Problem. Das kannst du natürlich nicht beheben, indem du das Formular ausblendest.
Sonst könntest du das Bild im Konstruktor über
Image.FromFile bzw.
FromStream laden und dieses Objekt dann für die
BackgroundImage-Eigenschaft verwenden. Dann ist sichergestellt, dass das Bild geladen ist, bevor das Formular angezeigt wird (der Konstruktor beendet wird).
Du könntest auch, wie
jaenicke geschrieben hat, das Hintergrundbild in einem separaten Thread laden und beim Fertigstellen des Ladevorgangs der
BackgroundImage-Eigenschaft zuweisen (
Invoke).