In Ihrer Hauptrolle:
MyMainForm hostInterface;
static void Main( )
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
hostInterface = new HostInterface();
// do some stuff to get the form ready
// here you can optionally instance a splash screen
MySplashScreen splash;
hostInterface.Load += splash.Close(); // <- might not be 100% accurate
splash = new MySplashScreen();
Application.Run(hostInterface);
}
Schauen Sie, wie das für Sie funktioniert. Der Unterschied ist, dass Sie das Formular instanziieren, bevor Sie etwas ausführen. Ich habe eine Option für die Instanzierung eines Startbildschirms eingebaut.
Vergleichen Sie die obige Darstellung mit dem automatisch generierten Standardcode:
static void Main( )
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MyMainForm());
}
Auch ohne das Hinzufügen eines Startbildschirms habe ich festgestellt, dass die Deklaration der MyMainForm myform = new MyMainForm()
hat sich das Laden aller Kontrollen vor dem Application.Run(new MyMainForm())