C # ShowDialog () blockiert das Hauptformular nicht, wenn es vom Thread ausgelöst wird

Ich habe eine Windows Forms-Anwendung mit einem Hauptformular und mehreren Hintergrundthreads. Um "nette" Nachrichten anzuzeigen, habe ich ein Formular implementiert, das als modaler Dialog angezeigt werden sollShowDialog().

Alle Anrufe nachShowDialog() werden auf Formularebene des Hauptformulars (und nicht auf Threadebene) implementiert, aber manchmal löse ich ein Ereignis von einem Thread aus, das auf Formularebene des Hauptformulars behandelt wird. In diesen Fällen ist der Dialog nicht mehr modal ... das Hauptformular wird nicht blockiert. Beim Anruf nachShowDialog() wird nicht von einem Thread ausgelöst, sondern ist nach Bedarf modal.

Wie kann ich sicherstellen, dass bei jedem Aufruf von ShowDialog () das Hauptformular blockiert wird?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage