`
hslh22
  • 浏览: 76806 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttr

    博客分类:
  • C#
 
阅读更多

        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        private static void Main(String[] args)
        {
            System.Windows.Forms.Application.EnableVisualStyles();
            System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);

            // Application.Run(new frmMain());

            LoadInit loadInit = new LoadInit();
            loadInit.Load(args);
        }           

 

 

        private void showMainForm()
        {
            System.Threading.Thread t = new
            System.Threading.Thread(new System.Threading.ThreadStart(NewMessageLook));
            // 解决单线程无法调用选择文件对话框问题

            t.SetApartmentState(System.Threading.ApartmentState.STA);  
            t.Start();

            this.Close();
        }

 

 

说明:

红色字体部分是解决问题的关键

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics