异常:
在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器附加到该进程才会引发此异常。
方法1:
class Program
{
/// <summary>
/// 图片资料文件同步
/// </summary>
/// <param name="args"></param>
[STAThread] //加这个属性,创建并进入单元
static void Main(string[] args)
{
Form1 f1 = new Form1();
f1.ShowDialog();
Console.Read();
} public static void f1()
{
Form1 f1 = new Form1();
f1.ShowDialog();
}
}
方法2:
class Program
{
/// <summary>
/// 图片资料文件同步
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
Thread newThread = new Thread(f1);
//newThread.SetApartmentState(ApartmentState.MTA);
newThread.SetApartmentState(ApartmentState.STA);//设置这个参数,指示应用程序的COM线程模型 是 单线程单元
newThread.Start();
Console.Read();
} public static void f1()
{
Form1 f1 = new Form1();
f1.ShowDialog();
}
}