Обновить значение прогрессбара из другого потока? - PullRequest
0 голосов
/ 08 июля 2011

Моя форма создает фонового работника, который каждые 6 секунд что-то проверяет.Результат 1-100, и я хочу показать это.

Но если я делаю это прямо, я получаю некоторые перекрестные ошибки, так что я после некоторых делегатов исследования могу это сделать.

Я создал внутри класса Form1:

public delegate void SetProgressbarValueDelegate(int val);

но как мне "подключить его" для фактического обновления индикатора выполнения?

Спасибо

1 Ответ

4 голосов
/ 08 июля 2011

Если вы используете WinForms, класс BackgroundWorker вызывает событие ProgressChanged , которое автоматически перенаправляется обратно в ваш поток пользовательского интерфейса.Для этого события необходимо обновить свой пользовательский интерфейс в своем обработчике.

В простой документации MSDN .

приведены несколько простых примеров использования
...