WinForms-Programmierung - Problem mit modalen und nichtmodalen Formularen

Ich habe ein Problem mit der Modalität der Formulare unter C # .NET. Nehmen wir an, ich habe Hauptformular Nr. 0 (siehe Abbildung unten). Dieses Formular stellt das Hauptanwendungsformular dar, in dem der Benutzer verschiedene Vorgänge ausführen kann. Von Zeit zu Zeit muss jedoch ein zusätzliches nichtmodales Formular geöffnet werden, um zusätzliche Aufgaben zur Unterstützung der Hauptanwendungsfunktionalität auszuführen. Angenommen, dies ist das Formular Nr. 1 im Bild. Auf diesem Formular Nr. 1 werden möglicherweise einige zusätzliche modale Formulare übereinander geöffnet (Formular Nr. 2 im Bild), und am Ende wird ein Fortschrittsdialog angezeigt, der einen langen Vorgangsfortschritt und -status angibt, der möglicherweise von wenigen ausgeht Minuten bis zu wenigen Stunden. Das Problem ist, dass das Hauptformular Nr. 0 erst reagiert, wenn Sie alle modalen Formulare schließen (Nr. 2 im Bild). Ich brauche, dass das Hauptformular # 0 in dieser Situation betriebsbereit wäre. Wenn Sie jedoch ein nicht modales Formular in Formular 2 öffnen, können Sie sowohl mit dem modalen Formular 2 als auch mit dem neu erstellten nicht modalen Formular arbeiten. Ich benötige das gleiche Verhalten zwischen dem Hauptformular Nr. 0 und dem Formular Nr. 1 mit all seinen untergeordneten Formularen. Ist es möglich? Oder mache ich etwas falsch? Vielleicht gibt es eine Art Workaround, ich möchte wirklich nicht alle ShowDialog-Aufrufe auf Show ändern ...

Image http://img225.imageshack.us/img225/1075/modalnonmodalproblem.pn

Antworten auf die Frage(10)

Ihre Antwort auf die Frage