1. 程式人生 > >c#在可以呼叫 OLE 之前,必須將當前執行緒設定為單執行緒單元(STA)模式------例如,openFileDialog時提示

c#在可以呼叫 OLE 之前,必須將當前執行緒設定為單執行緒單元(STA)模式------例如,openFileDialog時提示

在可以呼叫 ole 之前,必須將當前執行緒設定為單執行緒單元(sta)模式。請確保您的 main 函式帶有 stathreadattribute 標記。 只有將偵錯程式附加到該程序才會引發此異常。這種情況下要把 openFileDialog放到新的SAT執行緒中執行就行。

即openFileDialog所在的執行緒加上這個------thread.SetApartmentState(ApartmentState.STA);