У меня есть метод, подобный показанному ниже:
public void RunProgressBar()
{
int i = 10;
Invoke(new Action(() =>
{
while (i < 100)
{
progressBar1.Value += i;
i += 10;
}
}));
}
И еще один метод длительного запуска, как показано ниже.
Public void RunCommand(bool value)
{
classA.method1();
classB.method2();
classD.method3();
label.text = "Process Completes";
}
Я пытался запустить индикатор выполнения, когда RunCommand
метод работает. Поэтому я использовал Parallel.
ParallelOptions parallelOptions = new ParallelOptions
{
MaxDegreeOfParallelism = 2
};
Parallel.Invoke(parallelOptions, () => RunCommand(true), () => RunProgressBar());
Но это не работает параллельно. Когда я запускаю приложение, пользовательский интерфейс отображается в течение нескольких секунд, а затем, наконец, он показывает сообщение с меткой, и индикатор выполнения завершается вместе.
Я ищу решение, например, при нажатии кнопки запуска индикатор выполнения должен запускаться пока на этикетке не появится сообщение «Процесс завершен». Пожалуйста, помогите.