调用时出现以下异常saveFileDialog.ShowDialog()
在后台线程中:
当前线程必须设置为单线程
OLE 之前的线程单元 (STA) 模式
可以拨打电话。确保您的
Main函数有STAThread属性
标记在其上。
根据this:
要解决该问题,请插入
陈述:
Threading.Thread.CurrentThread.ApartmentState = Threading.ApartmentState.STA;
在 Main 之前
Application.Run 语句。
但 Application.Run 语句位于 Program.cs 中,它似乎是生成的代码,因此任何更改都可能会意外丢失。另外,我找不到在项目或主窗体属性中将当前线程设置为 STA 的方法,但也许我找错了地方。
正确的打电话方式是什么saveFileDialog.ShowDialog()
在后台线程中?
解决方案非常简单;
只需将其添加到 Main 方法的顶部即可[STAThread]
所以你的主要方法应该是这样的
[STAThread]
static void Main(string[] args)
{
....
}
这个对我有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)