backgroundWorker и progressChanged не работают - PullRequest
2 голосов
/ 11 марта 2012

я не могу заставить индикатор выполнения работать!если я выполню следующий код, то панель останется пустой, даже если код будет выполнен, и ReportProgress, похоже, ничего не обновит ..*

Ответы [ 3 ]

6 голосов
/ 11 марта 2012

Чтобы инициализировать BackgroundWorker, вы должны включить отчеты о прогрессе и подключить обработчики событий:

// Enable progress reporting
backgroundWorker1.WorkerReportsProgress = true;

// Hook up event handlers
backgroundWorker1.DoWork += backgroundWorker1_DoWork;
backgroundWorker1.RunWorkerCompleted += backgroundWorker1_RunWorkerCompleted;
backgroundWorker1.ProgressChanged += backgroundWorker1_ProgressChanged;
3 голосов
/ 11 марта 2012

Я не вижу, где вы устанавливаете для свойства WorkerReportsProgress значение true - это, скорее всего, проблема:

backgroundWorker1.WorkerReportsProgress = true;
backgroundWorker1.RunWorkerAsync(test);
0 голосов
/ 16 декабря 2016

У меня была такая же проблема.В AssemblyInfo.cs вы должны сделать это изменение для ComVisible.

[assembly: ComVisible(true)]
...