在 Eclipse 中,我看到了 IProgressMonitor 的实现——它随后也在 SharpDevelop 中,但我不确定它是如何工作的。其他地方有没有这样的例子可能更容易理解?
我想要实现的是一种通过一个进度条跟踪一堆任务(从 20 分钟到 5 秒变化很大)进度的方法(可以在任何时间点添加任务)。
这样的事情会是一个很好的选择/想法吗?
interface ITask
{
int TotalWork; // ProgressMax
event Progresschanged; // Notifies of the current progress
event ProgressComplete;
}
然后“监视器”简单地使用观察者模式来监视这两个事件。当所有进度条完成后,它将隐藏进度条。另一个问题是这些是正在产生的单独线程。
任何人都可以就某事给我建议或带领我走上正确的道路吗?