извиняюсь, если я не объясняю это ясно, но я пишу приложение, которое вызывает у меня некоторые проблемы с многопоточностью.
У меня есть пользовательский интерфейс, который запускает System.Timers.Timer.Каждый раз, когда этот таймер истекает, он запускает рабочий процесс, который открывает экран прогресса.Чтобы предотвратить запуск другого рабочего процесса до его завершения, он блокирует объект в главной форме.Этот экран выполнения запускается и сообщает о ходе копирования некоторых файлов с помощью FileCopyEX.
Проблема, с которой я столкнулся, заключается в том, что экран прогресса не отображается до тех пор, пока рабочий процесс не будет завершен.
Надеюсь, это прояснит ситуацию:
Основная форма |Таймер истекает |WorkFlow начинается |Откроется экран прогресса (возникающие ошибки возвращаются к предыдущему) |Происходит копирование файла (прогресс возвращается на экран прогресса). Если ошибок нет, возврат к главному экрану до следующей отметки.
До сих пор я реализовал только очень простые потоки, поэтому я не уверен, как лучше реализоватьэтот.Я попытался запустить рабочий процесс на BackGroundWorker, чтобы отделить его от потока пользовательского интерфейса, но он ведет себя так же.
Спасибо