Вызвать делегат отдельный индикатор выполнения класса - PullRequest
0 голосов
/ 31 августа 2011

Я загружаю большой объем данных из отдельного проекта и хотел бы показать прогресс пользователю.

Таким образом, при загрузке каждого фрагмента данных я бы хотел передать это событие обратно из класса Framework обратно в основную форму win, а затем в отдельную форму индикатора выполнения диалога.

Было бы возвращено три вещи:

  1. Сообщение о состоянии
  2. Текущий счетчик статуса
  3. Всего элементов для обработки.

Все, что мне нужно знать, это как передать эту информацию обратно и куда должны отправиться делегаты.

List<myObject> objListFoo = new List<myObject>();
FormLoadingProgress frmProgress = new FormLoadingProgress();
frmProgress.ShowInTaskBar = false;
frmProgress.Show();

Framework.Foo objFoo = new Framework.Foo();
objFoo.DoEvent(); // <-- This takes 10-60 seconds
objListFoo = objFoo.GetData();

frmProgress.Close();
frmProgress.Dispose();

1 Ответ

1 голос
/ 31 августа 2011

Вот пример, показывающий, что именно вам нужно сделать.

Единственное, что вам нужно настроить в этом примере, - это вызов метода ReportProgress. В вашем случае вы, вероятно, захотите вызвать эту версию , которая получает int и объект. В этом объекте вы можете передать любую необходимую вам информацию (1. Сообщение о состоянии, 2. Текущий счетчик состояния, 3. Всего элементов для обработки.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...