我有一个.NET 4.5 Windows Forms应用程序,其中一个方法需要一段时间才能完成(它是一个BulkCopy函数,它加载大量数据并将其推入SQL)。
我想使用BackgroundWorker和ReportProgress,这样用户就会知道有事情正在发生。我制作了一些使用此功能的应用程序,但当BackgroundWorker在工作时,它们都处于某种循环中,并且我可以轻松地在每个循环步骤内报告进度。
但这里我有一个问题,因为没有循环,代码步骤如下:
1.异步启动worker 2.从DB2获取数据到datatable(这需要最长时间)
3.SqlBulkCopy datatable插入SQL表
我需要在步骤1和步骤2之间开始报告进度(即使是虚假的进度百分比,一个简单的旋转进度条也足够了),并在步骤3之后结束报告进度。
有人遇到过类似的问题/解决方案吗?我想我只能显示一个GIF图像并在工作完成后隐藏它,但我认为这不起作用,因为表格会冻结(无响应消息)。
我想使用BackgroundWorker和ReportProgress,这样用户就会知道有事情正在发生。我制作了一些使用此功能的应用程序,但当BackgroundWorker在工作时,它们都处于某种循环中,并且我可以轻松地在每个循环步骤内报告进度。
但这里我有一个问题,因为没有循环,代码步骤如下:
1.异步启动worker 2.从DB2获取数据到datatable(这需要最长时间)
3.SqlBulkCopy datatable插入SQL表
我需要在步骤1和步骤2之间开始报告进度(即使是虚假的进度百分比,一个简单的旋转进度条也足够了),并在步骤3之后结束报告进度。
有人遇到过类似的问题/解决方案吗?我想我只能显示一个GIF图像并在工作完成后隐藏它,但我认为这不起作用,因为表格会冻结(无响应消息)。