我想知道Loading Time
当用户启动进程、应用程序实例时如何测量应用程序,以便我可以显示进度条或通知用户在加载应用程序时发生了什么或完成了多少应用程序加载。
我的意思是,如果我想用进度条显示当前进度,我想我可以用数字定义当前进程,这样我就可以增加控件的Value
属性。ProgressBar
提前致谢。
真挚地。
编辑 :
我发现的解决方案是:
您可以使用 System.Diagnostics.Stopwatch 来测量时间。在窗体的构造函数的开头调用 Start 方法。
显示表单后,通常会出现 Application.Idle 事件。因此,您可以在此事件的处理程序中调用 Stop 方法。但是您应该检查该事件是否确实上升,例如通过使用 System.Diagnostics.Debug.WriteLine 以及来自 sysinternals.com 的工具 DebugView。
所以我们可以这样使用System.Diagnostics.StopWatch
:
using System;
using System.Diagnostics;
using System.Threading;
class Program
{
static void Main(string[] args)
{
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
Thread.Sleep(10000);
stopWatch.Stop();
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch.Elapsed;
// Format and display the TimeSpan value.
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds,
ts.Milliseconds / 10);
Console.WriteLine(elapsedTime, "RunTime");
}
}
然后当 Idle 事件触发时,我将能够找到加载时间并将其显示在进度条上,但我认为进度条不会显示加载时间的准确百分比。