程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 選擇目錄,選擇文件夾的COM組件問題。在可以調用 OLE 之前,必須將當前線程設置為單線程單元(STA)模式。請確保您的 Main 函數帶有 STAThreadAttribute 標記。 只有將調試器附加到該進程才會引發此

選擇目錄,選擇文件夾的COM組件問題。在可以調用 OLE 之前,必須將當前線程設置為單線程單元(STA)模式。請確保您的 Main 函數帶有 STAThreadAttribute 標記。 只有將調試器附加到該進程才會引發此

編輯:C#入門知識

選擇目錄,選擇文件夾的COM組件問題。在可以調用 OLE 之前,必須將當前線程設置為單線程單元(STA)模式。請確保您的 Main 函數帶有 STAThreadAttribute 標記。 只有將調試器附加到該進程才會引發此異常。,stathreadattribute


異常:

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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved