用C#做的导出大批量数据到文件时,需要等待很久时间,等待过程中,点程序界面或切换窗口时将会发生程序假死的情况(程序窗口动了了),等导出完成时,才能恢复正常
我想在导出时程序不假死,用户切换到其它应用程序再切换回本程序时,可以正常看到本程序的界面和等待窗口(点导出时会有一个要求用户等待的小框,导出完成时消失)
用什么方法可以解决呢?

解决方案 »

  1.   

    在导出的时候可以让程序先“睡眠”一会,待后台绑定完或导出完数据,前台可以有好的提示“数据正在导出中,请稍等····”这样子就会比较好些~~     Thread.Sleep(时间);  楼主试试~~
      

  2.   

    用backgroundworker时。在DoWork里调用EXCEL组件导出时出现如下错误。错误:在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记
      

  3.   

    搞错了,是用 System.Windows.Forms.Clipboard.SetDataObject("");时抛出的错程
      

  4.   

    你在循环的中间加入 Application.DoEvents(); 就行了!
      

  5.   

    加一个等待的窗体或者控件~~http://www.cnblogs.com/pvistely/archive/2009/11/27/1611718.htmlhttp://topic.csdn.net/u/20090831/10/ac92362b-370b-425d-a6a2-d766ec3f40ef.html
      

  6.   

    建议多线程或者13楼说的添加 Application.DoEvents(); 语句,让程序响应UI操作
      

  7.   

    多线程 
    backgroundworker