导出excel时,则于时间较长,窗体界面总是花屏一小段时间,如何解决呢?

xuexi_net1 2010-09-30 02:37:47
导出excel时,则于时间较长,窗体界面总是花屏一小段时间,如何解决呢?
我的窗体上有一个按钮,功能是导出电子表格excel,导出功能完全没有问题,
但是如果在配置一般的机器上执行导出操作,则导出时,窗体界面会暂时花屏一段时间,等到excel导出成功。则界面恢复正常。

请问这个情况应该如何处理呢?

虽然不影响用,但用户体验非常差。
...全文
216 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuexi_net1 2010-09-30
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 chen307418756 的回复:]

要新开一个线程 将导出方法丢入线程,再可以在线程中控制一个进度条
[/Quote]

我也想用这个方法,可以还没找到示例代码,好心人给点代码好吗?
wuzhanhui 2010-09-30
  • 打赏
  • 举报
回复
顶!!!!
chen307418756 2010-09-30
  • 打赏
  • 举报
回复
要新开一个线程 将导出方法丢入线程,再可以在线程中控制一个进度条
xiaojinlai 2010-09-30
  • 打赏
  • 举报
回复
新开一进程,用进度条
wuyq11 2010-09-30
  • 打赏
  • 举报
回复
进度条控制
backgroundWorker 结合progressbar
xuexi_net1 2010-09-30
  • 打赏
  • 举报
回复
我加在前面了,还是不起作用呀,我其实刚开始就是加上前面的,不起作用,我改在后面,都不起作用,
哪的原因呢?

//datagrid导出excel
private void btnSaveExcel_Click(object sender, EventArgs e)
{
Application.DoEvents();
//System.Threading.Thread.Sleep(5);
gongjijin.ExcelExport.GridToExcel(dataGrid1);
}
四更山吐月 2010-09-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xuexi_net1 的回复:]
//将 datatable 导出 excel
private void btnDtToExcel_Click(object sender, EventArgs e)
{
ExcelExport.DataTableToExcel(mytable);
Application.DoEvents();
}
加上,不管用呀。
[/Quote]
这样肯定不管用了,都执行完了,还DoEvents()干嘛呀。
xuexi_net1 2010-09-30
  • 打赏
  • 举报
回复
//将 datatable 导出 excel
private void btnDtToExcel_Click(object sender, EventArgs e)
{
ExcelExport.DataTableToExcel(mytable);
Application.DoEvents();
}
加上,不管用呀。
xuexi_net1 2010-09-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hassle 的回复:]

Application.DoEvents();
[/Quote]
加在哪里呢?
Hassle 2010-09-30
  • 打赏
  • 举报
回复
Application.DoEvents();
lplp768 2010-09-30
  • 打赏
  • 举报
回复
C#能关闭屏幕刷新么??
要不sleep一下?

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧