我新开了一个线程 在这个线程启动窗口 f2 ,可以正常启动,然后点击窗口的按钮弹出一个保存对话框。这个时侯会弹出错误。说是什么单线程,需要加stathread属性 但是我看mian函数上已经加这条属性了 求教
错误大概是 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器附加到该进程才会引发此异常。

解决方案 »

  1.   


        private void button1_Click(object sender, EventArgs e)
        {
            Thread myThread = new Thread(this.MyThread);
            myThread.SetApartmentState(ApartmentState.STA);     //<--------
            myThread.Start();
        }    void MyThread()
        {
            OpenFileDialog dlg = new OpenFileDialog();
            dlg.ShowDialog();
        }
      

  2.   

    void MyThread()返回的是空类型
    如何获取里面的值捏