saveFileDialog.ShowDialog()在后台线程中调用时,我得到以下异常:
在进行OLE调用之前,必须将当前线程设置为单线程单元(STA)模式.确保您的Main函数标记了STAThreadAttribute.
根据这个:
要解决此问题,请插入以下语句:
Threading.Thread.CurrentThread.ApartmentState = Threading.ApartmentState.STA;
Run Code Online (Sandbox Code Playgroud)
在Application.Run语句之前的Main中.
但是Application.Run语句在Program.cs中,它似乎是生成的代码,因此任何更改都可能意外丢失.此外,我找不到在项目或主窗体属性中将当前线程设置为STA的方法,但也许我在错误的地方查找.saveFileDialog.ShowDialog()在后台线程中调用的正确方法是什么?
是否可以创建/拥有非模态.net OpenFileDialog我在主对话框中有一个UI元素,总是需要用户按下.