问一下,我VS2003的程序转到VS2005,出现:
在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器附加到该进程才会引发此异常。通过
B窗体打开A窗体 ,
B窗体代码
private void btn_open_Click(object sender, System.EventArgs e)
{
 if(opf.ShowDialog()==DialogResult.OK)
 {
   this.txt_path.Text=this.opf.FileName;
   this.btn_ok.Enabled=true;
 }}
A窗体
 [STAThread]
static void Main() 
{    FrmData frmdata=new FrmData();
   frmdata.ShowDialog();
  if(frmdata.DialogResult.Equals(DialogResult.OK))
 {
  frmdata.Close();
  Application.Run(new MainForm());
                
}
else
{
frmdata.Close(); 

  }

}
问题就出在 if(opf.ShowDialog()==DialogResult.OK)这里,为什么会这样