问一下,我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)这里,为什么会这样
在可以调用 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)这里,为什么会这样
这个己经是有添加了啊
顶