火焰猫麟 2013-11-14 15:05 采纳率: 0%
浏览 5444

C#进度条能否根据代码的执行进度来加载进度?

我在网上搜索了下资料,大部分都是使用Timer控件或者线程来进行,但是最终都是根据计算结果来写出一个MaxValue和一个Value来计算并且填充进度条
但是计算的话总感觉不是很准确,我如今遇到了一个比较棘手的难关(对于我而言),有个界面的树在读取数据库进行绑定的时候会显得非常慢,但是设定进度条的时间长短根本无法确定,以及代码例如(链接TCP之类的)断开链接也会产生卡主的状况,但是由于线程的关系,进度条依然显示完毕了。
使得我非常的头疼,因此我想问问,有没有办法获取代码的执行进度,根据代码的总执行次数和现在执行的行数来填充进度条?

或者看到这个问题的您能给我一种更加好的方案呢?希望能被解答下。

  • 写回答

2条回答

  • 不良制品 2015-04-13 05:45
    关注

    不知道能不能在一开始就获取树中节点的数量。
    如果可以的话,可以使用System.ComponentModel.BackgroundWorker控件,这个控件可以用来做前后台进度显示。
    将BackgroundWorker控件的属性WorkerReportsProgress设置为True,之后调用控件的ReportProgress函数就会触发ProgressChanged事件。
    ProgressChanged事件中参数ProgressChangedEventArgs e,e.ProgressPercentage就是你之前ReportProgress函数中填写传递的数。
    如此就可以在ProgressChanged事件中去更新进度条了

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?