Sichtbarkeit des Scheinbildschirms bis zur Abschluss des Hintergrunds
sicherstellen Dieser Artikel befasst sich mit der Herausforderung, einen Begrüßungsbildschirm anzuzeigen, bis ein Hintergrund -Thread seine Verarbeitung beendet hat. Die Lösung verwendet die BackgroundWorker
-Kläufe für eine effiziente Thread -Verwaltung.
Innerhalb der SplashScreen
-Klassemethode: GetFromServer()
instanziiert : BackgroundWorker
private BackgroundWorker worker = new BackgroundWorker();
zuweisen Ereignishandler: DoWork
worker.DoWork += new DoWorkEventHandler(worker_DoWork);
zeitaufwändige Aufgaben abladen: Verlagerung langwieriger Vorgänge von in den GetFromServer()
Ereignishandler: worker_DoWork
private void worker_DoWork(object sender, DoWorkEventArgs e) { // Perform time-consuming operations here // ... _serverFiles = "added"; // Example: Set a flag indicating completion }
Initiieren Sie den Hintergrundarbeiter auf : Hide
Starten Sie den Hintergrundarbeiter, wenn der Begrüßungsbildschirm kurz vor dem Abblenden steht:
private void SplashScreen_Hide(object sender, EventArgs e) { worker.RunWorkerAsync(); }
Begrüßungsbildschirm nach Fertigstellung ausblenden: Verblenden Sie den Scheinbildschirm, sobald der Hintergrundarbeiter seine Arbeit beendet hat:
private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { this.Hide(); }
Klasse vereinfachen das Thread -Management und gewährleisten einen sauberen Übergang zum Hauptantragsformular. BackgroundWorker
Das obige ist der detaillierte Inhalt vonWie kann ich einen Begrüßungsbildschirm sichtbar halten, bis ein Hintergrund -Faden abgeschlossen ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!