В Eclipse я видел реализацию IProgressMonitor, которая впоследствии появилась и в SharpDevelop, но я не уверен, как это работает. Есть ли пример этого в другом месте, который может быть немного легче понять?
То, что я пытаюсь достичь, - это метод отслеживания хода выполнения множества задач (которые сильно различаются от 20 минут до 5 секунд) с помощью одной панели выполнения (задачи могут быть добавлены в любой момент времени).
Будет ли что-то подобное хорошей альтернативой/идеей?
interface ITask
{
int TotalWork; // ProgressMax
event Progresschanged; // Notifies of the current progress
event ProgressComplete;
}
Затем «Монитор» просто использует шаблон «Наблюдатель» для отслеживания двух событий. Когда все индикаторы выполнения будут завершены, он скроет индикатор выполнения. Другая проблема заключается в том, что это отдельные потоки, которые создаются.
Может ли кто-нибудь посоветовать мне что-то или направить меня на правильный путь?