Question

J'ai suivi les étapes simples décrites à l'adresse Comment: ajouter un écran de démarrage à une application WPF pour ajouter un écran de démarrage à mon application WPF. Lorsque je lance l’application, l’image de démarrage s’affiche, puis la fenêtre principale s’affiche et celle-ci s’efface.

Mon problème est que lorsque la fenêtre principale apparaît, elle apparaît en haut de l'image de démarrage. Ensuite, lorsque l’image de démarrage commence à disparaître, elle apparaît à nouveau en haut. Le résultat final est que l'image de démarrage disparaît pendant une fraction de seconde lorsque la fenêtre principale apparaît.

Comment puis-je forcer la fenêtre principale à apparaître sous l'image de démarrage afin que celle-ci ne disparaisse pas?

Était-ce utile?

La solution

Ce n'est pas le comportement par défaut, vous devez avoir du code qui concentre manuellement la fenêtre principale?

Il peut être plus simple de désactiver manuellement le fondu avec un peu de code comme celui-ci:

_splash = new SplashScreen ("LoadingScreen.png");

_splash.Show (false);

_splash.Close (TimeSpan.Zero);

Autres conseils

Dans .NET 4.0, une surcharge a été ajoutée au diaporama. méthode qui permet de définir le style de fenêtre WS_EX_TOPMOST dans la fenêtre d’écran d’accueil. Affichez l'écran de démarrage dans le code comme ceci:

SplashScreen splash = new SplashScreen("SplashScreen.png");
splash.Show(autoClose: true, topMost: true);

J'appelle cela à partir de la méthode

protected override void OnStartup(StartupEventArgs e)

dans App.xaml.cs.

"SplashScreen.png" est bien sûr l'identifiant de votre image de démarrage incorporé dans les ressources de l'application.

Vous ne savez pas si cela aidera, mais si vous définissez le propriétaire de l'écran de démarrage sur le formulaire actuel, cela devrait peut-être faire l'affaire?

_splash.Owner = this;

Sinon, vous pouvez regarder ici:

Exemple d'écran de démarrage

Cela pourrait aussi aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top