Erstellen eines Formulars und Verwenden von Form.ShowDialog in einem Hintergrundthread

Wenn ich Winforms verwende und mich in einem Thread befinde, der nicht der "Haupt" -Thread der Benutzeroberfläche ist, kann ich das sicher tun

Ein Formular erstellen,Rufen Sie in diesem Formular ShowDialog auf

Es scheint, als würde ich die Regel befolgen: Winforms-Steuerelemente müssen in dem Thread geändert werden, in dem sie erstellt wurden.

Aus einigen meiner Lektüren geht hervor, dass ShowDialog eine eigene Nachrichtenpumpe erstellt, sodass ich mir keine Gedanken darüber machen muss, ob das Formular in einem Thread erstellt wird, der bereits eine Nachrichtenpumpe enthält.

Der Hintergrund der Frage ist, dass ich einen Rückruf erhalte, in dem ich einige Winforms-Benutzeroberflächen anzeigen möchte, aber keinen Zugriff auf eine andere Benutzeroberfläche habe, die ich zum Aufrufen des Hauptthreads verwenden könnte.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage