Assurer la visibilité de l'écran de démarrage pendant les processus en arrière-plan dans .NET
De nombreuses applications .NET sont confrontées au défi d'un écran de démarrage qui se ferme prématurément avant que de longues tâches en arrière-plan (comme les téléchargements de données du serveur) ne soient terminées. Cet article présente une solution pour maintenir l'écran de démarrage affiché jusqu'à ce que ces tâches soient terminées, améliorant ainsi l'expérience utilisateur.
Cette méthode exploite la fonctionnalité d'écran de démarrage intégrée de .NET. En incluant une référence à Microsoft.VisualBasic.ApplicationServices
, vous pouvez créer un formulaire d'écran de démarrage personnalisé (frmSplash
) et contrôler sa visibilité via des événements au sein de la classe MyApp
.
frmSplash.vb :
<code class="language-vb.net">Public Class frmSplash Inherits System.Windows.Forms.Form End Class</code>
Projet.cs :
<code class="language-csharp">using System; using System.Windows.Forms; using Microsoft.VisualBasic.ApplicationServices; namespace WindowsFormsApplication1 { static class Program { [STAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); new MyApp().Run(args); } } class MyApp : WindowsFormsApplicationBase { protected override void OnCreateSplashScreen() { this.SplashScreen = new frmSplash(); } protected override void OnCreateMainForm() { // Execute time-consuming background tasks here... // Maintain splash screen visibility until tasks are finished. while (_serverFiles == null) { // Replace with your task completion check Application.DoEvents(); } // Close the splash screen and display the main form. this.SplashScreen.Close(); this.MainForm = new Form1(); } } }</code>
Cette solution maintient l'écran de démarrage visible jusqu'à ce que les opérations en arrière-plan soient terminées, ce qui permet un lancement d'application plus fluide et plus soigné. N'oubliez pas de remplacer _serverFiles == null
par votre condition spécifique indiquant l'achèvement de la tâche.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!