Я использую 5 BackgroundWorker объектов, работающих в то же время для определенной цели, и все они должны изменить одну и ту же метку. Как мне это сделать?BackgroundWorker многопоточный доступ к форме
Как мне изменить форму из более чем одного потока? И как это сделать, если я хочу изменить общедоступную строку?
ReportProgress также позволит вам вносить произвольные изменения в пользовательский интерфейс. –
как мне его вызывать, если теперь это происходит с публичной строкой моей формы? – Marcelo
@Henk: ReportProgress разрешает BackroundWorker отправлять единственный объект UserState, который затем должен интерпретироваться обработчиком события ProgressChanged для фактического обновления пользовательского интерфейса. То, что я пытался сказать, заключается в том, что с помощью метода Invoke() вы можете поместить код для обновления прямо внутри метода, в котором вы создаете BackgroundWorker, в первую очередь, что приведет к более эффективному и понятному коду. Это дизайнерское решение, конечно, со всеми нормальными компромиссами. – RobC