私はマルチスレッドアプリケーションが本当に苦手なようです。を開こうとしていますがFolderBrowserDialog
、次のような例外が発生していました。
Current thread must be set to single thread apartment (STA) mode before OLE calls can be made.
MainメソッドをSTAThreadAttribute
設定しましたが、FolderBrowserDialogがメインスレッド以外のスレッドから呼び出されています。私は試した
Thread.CurrentThread.SetApartmentState(ApartmentState.STA);
しかし、それは例外を与えましたFailed to set the specified COM apartment state
。
STAモードで新しいスレッドを作成し、を開く一時的な修正がありますが、FolderBrowserDialog
より適切なソリューションが必要です。アパートの状態をSTAに設定できない原因は何ですか?