日期:2014-05-17  浏览次数:21255 次

C# 计算线程执行的剩余时间
在winform中   我新开辟了一个线程 执行一个方法:

//...
progressBar.Value = 0;
progressBar.Maximum = data.Rows.Count;
for (int i = 0; i < data.Rows.Count; i++)
{
    //....

    progressBar.Value++;
    labMsg.Text = "已经执行..." + progressBar.Value + " / " + progressBar.Maximum + "";
}
//...


如何计算剩余时间??

------解决方案--------------------
剩余时间 = 已经用的时间 / 已经完成的百分比 * (100 - 已经完成的百分比)
可以在循环开始之前记录一个时间,然后和当前时间比较得到已经用的时间。