Frage

Ich wurde mit dem Aufbau eines PowerShell-Skripts mit einer GUI, mit dem Benutzer Netzwerkdrucker installieren können, zu erstellen.Ich habe es erfolgreich geschafft, dies zu tun, aber ich kann die Anforderung nicht erfüllen, dass der Benutzer ein 'Bitte warten'-Fenster angezeigt wird, während die Drucker installiert werden.Wenn ich vom Hauptfaden zum Fenster wechsle, hängt die GUI auf.Wenn ich das Fenster auf einen separaten Job zeigt, kann ich das Fenster nie wieder schließen.Hier ist mein Versuch: generasacodicetagpre.

weiß jemand, wie ich das $ WaitForm-Fenster entlassen kann, wenn die langfristige Aufgabe abgeschlossen ist?

War es hilfreich?

Lösung

Sie können versuchen, das Windows Forms-Dialogfeld im Hauptthread auszuführen und die eigentliche Arbeit in einem Hintergrundjob durchzuführen: generasacodicetagpre.

Andere Tipps

Diese erste Antwort war korrekt, erstellen Sie das Formular auf dem Hauptfaden und führen Sie die lange Laufaufgabe auf einem separaten Thread aus.Der Grund, warum es den Hauptcode nicht ausführt, nachdem das Formular abgewiesen wird, liegt an, da Sie die Methode "ShowDialog" des Formulars verwenden, wobei diese Methode nachträglich ist, bis das Formular geschlossen ist.

Stattdessen Verwenden Sie stattdessen die Methode 'Show', Codeausführung wird fortgesetzt, Sie sollten möglicherweise einige Ereignishandler einschließen, um das Formular zu entsorgen generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top