У меня есть приложение на wpf, которое достаточно долго пингует ряд ip-шников. Захотелось установить ProgressBar. Напрямую (Как в Windows Forms - изменяя счетчик) - не работает.
Нагуглила, что это частая проблема. Нашла два решения:
Очень хочу понять смысл того, что мы делаем в примененном мною способе. Читаю про делегаты, но не могу понять, зачем мы тут их используем.
Прошу пояснить механику работы второго варианта и причину его меньшей популярности (оптимизация?).
Спасибо!
P.S. Я абсолютный новичок в C#.
Можно завести потоки или как вариант использовать invoke. К примеру, в коде формы будет что то в духе
public void ProgressBarHandler(int value){
... пингуем машины
progressBar.Value +=value;
}
и вызываешь
MainForm.Dispather.Invoke(new ThreadStart(delegate(MainForm.ProgressBarHandler(1);}));
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости