異常:
在可以調用 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();
}
}