Alles, ich bin über die Hälfte durch eine MDI WinForm-Anwendung und habe angefangen zu testen, was wir bisher auf mehreren verschiedenen Maschinen und ich habe den folgenden Fehler auf allen Computern gefunden (unter Windows 7/Vista). Der Fehler hat mit der TaskBar und dem sichtbar aktiven Zustand der Anwendung zu tun. Dies wird einfacher mit Bildern:Seltsames TaskBar Verhalten mit MDI WinForm App
A. Ich schweben über die Taskleiste bereit zum Start.
B. ich auf die Anwendung klicken und es startet kein Problem und zeigt in der Taskleiste - alles so weit gut.
C vielleicht 3 Sekunden warten und das Symbol verklingt nicht aktiv zu sein, so dass, wenn ich darauf klicke, startet es eine andere Instanz meiner Anwendung, anstatt die eine Wiederherstellung ich gerade geöffnet haben !? Sobald ich auf das Formular klicke und das Formular minimiere und dann wiederherstelle, geht dieses Problem weg !?
Das ist seltsam, und ich habe keine Ahnung, wie über die Festsetzung es zu gehen. Dies zeigt sich auch bei Verwendung der .exe-Datei zum Starten der Anwendung, wobei die Taskleiste erst angezeigt wird, wenn Sie auf das Hauptformular der Anwendung klicken. Ich bin wirklich ratlos. Wenn jemand eine Vorstellung davon hat, was hier passieren könnte, würde es am meisten geschätzt werden? Vielen Dank für Ihre Zeit.
Hinweis. Ich habe das Problem auf das Formular beschränkt, das hinter anderen offenen Formularen gestartet wird. Ich habe die relevanten Optionen this.TopLevel = true;
in den Formularen Shown
Ereignis usw. verwendet, aber nichts scheint zu funktionieren ...
Hmm, das ist ein Workaround, nicht eine Lösung. Sie müssen sich darüber Gedanken machen, es gibt andere Dinge, die schief gehen können, wenn Sie Code wie diesen schreiben müssen.Beginnen Sie mit dem Testen des Windows + L-Schlüssels (Arbeitsstation sperren) und stellen Sie sicher, dass Ihre Benutzeroberfläche nicht blockiert. Verwenden Sie die integrierte Unterstützung für Begrüßungsbildschirme in .NET, wenn dies der Fall ist. –
@HansPassant danke für den Rat. Ich bin unsicher, was das Problem in diesem Stadium sein könnte. Ich habe jetzt viele MDI-Anwendungen entwickelt und bin nicht einmal auf dieses Verhalten gestoßen. Ich werde auf den obigen Rat achten. Wenn "Windows + L" keine Probleme verursacht, kann man davon ausgehen, dass ich außer Kontrolle bin? Ich benutze meinen eigenen Splash-Screen, aber ich habe die Methode vorher ohne Nebenwirkungen verwendet. Nochmals, vielen Dank für den Kommentar, es ist geschätzt ... – MoonKnight
"Ich benutze meine eigenen Splashscreen" ist, was ich vermutete. Es ist ein sehr starker Hinweis, dass Sie über ein echtes Problem tapezieren. –