0 / 0 / 1
Регистрация: 27.04.2011
Сообщений: 24
|
|
1 | |
BackgroundWorker27.04.2011, 21:04. Показов 1402. Ответов 7
Метки нет Все метки)
(
0
|
|
27.04.2011, 21:04 | |
Ответы с готовыми решениями:
7
BackgroundWorker использование backgroundworker 2 BackgroundWorker параллельно Таймер в Backgroundworker |
85 / 77 / 13
Регистрация: 03.09.2009
Сообщений: 346
|
|
27.04.2011, 21:11 | 2 |
Можно конечно определить для всех. Непонятен вопрос.
0
|
0 / 0 / 1
Регистрация: 27.04.2011
Сообщений: 24
|
|
27.04.2011, 21:13 [ТС] | 3 |
Ну в смысле один общий.
Общий ProgressChanged для всех рабочих.
0
|
85 / 77 / 13
Регистрация: 03.09.2009
Сообщений: 346
|
|
27.04.2011, 21:26 | 4 |
Чтоб он показывал среднее арифметическое?
Подпишите события ProgressChanged всех работников на один и тот же метод. Когда работник вызывает событие ProgressChanged, то там есть возможность передать любой объект (e.UserState) в метод обработки события. Это например может быть номер работника, вызвавшего событие. И далее по этому номеру метод обработки события будет знать какой работник передал свой процент прогресса. Эти проценты должны сохраняться в массив для рассчета среднего по всем работникам.
0
|
1270 / 971 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
|
|
27.04.2011, 21:26 | 5 |
ну и повесь на всех ProgressChanged один обработчик, точно так же как для одного
0
|
0 / 0 / 1
Регистрация: 27.04.2011
Сообщений: 24
|
||||||
27.04.2011, 22:00 [ТС] | 6 | |||||
Спасибо, нормально отработало.
Еще вопрос, а можно ли как то сказать что то вроде: когда все рабочие вызвали RunWorkerCompleted, сделай ... Добавлено через 23 минуты Кстати, я сейчас пишу вот так:
0
|
85 / 77 / 13
Регистрация: 03.09.2009
Сообщений: 346
|
||||||
27.04.2011, 22:08 | 7 | |||||
можно так
1
|
0 / 0 / 1
Регистрация: 27.04.2011
Сообщений: 24
|
|
27.04.2011, 22:44 [ТС] | 8 |
SergBokh, большое спасибо!
Добавлено через 17 минут Теперь новая беда. Не работают CancellationPending, ReportProgress, CancelAsync и т.д. Говорит что System.Array не содержит определений для них...( Добавлено через 8 минут Ну это решил. Надо отправить в функцию где они шуршат порядковый номер потока. Но вот еще беда - не могу я нажатием одной кнопки прикончить сразу все потоки... Не подскажите? Добавлено через 1 минуту А, всё))
0
|
27.04.2011, 22:44 | |
Помогаю со студенческими работами здесь
8
BackgroundWorker.RunWorkerCompleted BackgroundWorker не запускается из таймера BackgroundWorker и методы классов Событие RunWorkerCompleted в BackgroundWorker Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |