急,异步调用问题.......
在异步调用中我要读取超十万条数据库数据,把读取数据这个做成一个类,请问在异步显示它的百分比时怎样取得这个类的运行进度值??如:
private DataSet myDs(*****)
{
//这里面执行大量数据读取操作并返回相应DataSet
}
现在就是怎样取得myDs的执行进度??
while(myDs完成) //这个完成值又怎么取呢??
{
更新进度....
} --------------------编程问答-------------------- 用delegate,myDs函数里调用,每次执行相关操作调用下delegate就可以显示它的执行进度了,这个进度是自己设置的 --------------------编程问答-------------------- 如果你只是普通的异步调用,可以用下面方法,
if (progressBar1.flowLayoutPanel1.InvokeRequired)
Invoke(.......);
如果你是在后台执行的话可以用backgroundWorker1控件 --------------------编程问答-------------------- 同上,在合适的地方调用delegate对进度进行更新 --------------------编程问答-------------------- 如果我的数据读取是用其它类库实现的可以用委托不?? --------------------编程问答-------------------- 这和你的数据来源没有关系,就只是异步修改控件的问题, --------------------编程问答-------------------- 委托异步调用,可以搞个进度条
使用前取出你要查询出来的结果里面的记录数,然后,除以100之类的,取出每查询出几条的记录数。只要取出就可以得到你要走的进度条的单位值了 --------------------编程问答-------------------- 委托+异步调用!!
有关于这方面的例子的!! --------------------编程问答-------------------- 在合适的地方调用delegate对进度进行更新,没错,这个方法可行。 --------------------编程问答-------------------- 都说了,没得啥说了
觉得进度条麻烦就搞个LABLE,显示正在处理
处理完了调用回调方法,处理下LABLE就OK --------------------编程问答-------------------- 能拖个BackGroundWork组件上去吗 --------------------编程问答-------------------- 来晚了 --------------------编程问答-------------------- 这个问题我也想知道一些,确实不好做 --------------------编程问答-------------------- 可以试一下BackgroundWorker组件,我这里写了几篇文章,
使用BackgroundWorker组件进行异步操作编程
http://blog.csdn.net/zhzuo/archive/2008/07/23/2699305.aspx
实现增强的异步任务执行组件
http://blog.csdn.net/zhzuo/archive/2008/07/23/2699847.aspx
摘要:本文介绍如何在.NET中实现基于事件的异步模式组件。
补充:.NET技术 , C#