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 aufEs 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.