Assurer la visibilité de l'écran d'éclat jusqu'à la fin du thread de l'arrière-plan
Cet article relève le défi de garder un écran de éclaboussures affiché jusqu'à ce qu'un fil d'arrière-plan termine son traitement. La solution utilise la classe BackgroundWorker
pour une gestion efficace des threads.
dans la méthode SplashScreen
de la classe GetFromServer()
Classe:
Instancier BackgroundWorker
:
private BackgroundWorker worker = new BackgroundWorker();
Attribuez un gestionnaire d'événements: DoWork
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
Déchargement des tâches chronophages: Déplacer de longues opérations de au gardien d'événements GetFromServer()
: worker_DoWork
private void worker_DoWork(object sender, DoWorkEventArgs e) { // Perform time-consuming operations here // ... _serverFiles = "added"; // Example: Set a flag indicating completion }
Initier un travailleur de fond sur : Hide
Démarrez le travailleur de l'arrière-plan lorsque l'écran des éclaboussures est sur le point de se cacher:
private void SplashScreen_Hide(object sender, EventArgs e) { worker.RunWorkerAsync(); }
Masquez l'écran des éclaboussures à l'achèvement: Masquer l'écran Splash une fois que le travailleur d'arrière-plan termine son travail:
private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { this.Hide(); }
simplifient la gestion des threads et assurent une transition propre vers le formulaire d'application principal. BackgroundWorker
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!