关于.ShowDialog()的问题!!!在win7上死活不出对话框
我是在xp上运行正常,但是在win7 32位上就有问题,代码每次到ShowDialog()时候就死。
SaveFileDialog sfDialog = new SaveFileDialog();
sfDialog.Filter = "Excel文件|*.xls;";
sfDialog.FileName = "未命名";
System.Windows.Forms.DialogResult dlrOK = sfDialog.ShowDialog();
if(dlrOK == System.Windows.Forms.DialogResult.OK)
{。。。。。}
有没有大神帮忙看下,我在网上说是[STAThread]的问题,但我的本来就加了,求大神帮忙
------解决方案-------------------- 在win7中,用线程调用,不是主线程会出现错误,
所以应该把它交给主线程去处理
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(saveDialog);
t.IsBackground = true;
t.ApartmentState = ApartmentState.STA;
t.Start();
}
public void saveDialog()
{
SaveFileDialog result = new SaveFileDialog();
result.ShowDialog();
}
------解决方案--------------------最简单的改法
DialogResult reuslt = new SaveFileDialog().ShowDialog(this);