Извините, если заголовок немного неописуемый, я не мог бы правильно это сказать.Обновление формы диалога при загрузке
В принципе, то, что у меня есть следующий сценарий:
У меня есть пользовательский интерфейс (WinForm), что позволяет пользователям выбрать несколько файлов для загрузки, а затем нажмите кнопку «Загрузить», чтобы приступить загрузки. Все загрузки обрабатываются асинхронно, чтобы избежать блокировки формы. Однако, хотя я не хочу, чтобы форма блокировалась сообщением «Не реагировать», я также не хочу, чтобы пользователь мог изменять поля формы во время загрузки.
В идеале я хотел бы создать модальное диалоговое окно, которое позволит пользователю узнать состояние загрузки (например, firefox, кроме модального диалога). Это убивает 2 птиц одним камнем, так как позволяет пользователю получить хорошее представление о ходе загрузки, а также остановить взаимодействие пользователя с родительской формой, пока диалог активен.
Однако, чтобы правильно дать пользователю представление о ходе загрузки, мне нужно будет обновить диалог во время выполнения. Здесь я ударил стену. Моя нынешняя идея состоит в том, чтобы разоблачить некоторые общедоступные методы моего диалогового класса, чтобы отправлять обновления при завершении работы файлов и вызывать их из потока загружаемых файлов (с соответствующими делегатами для обновления элементов управления и т. Д.).
Я уверен, что это будет работать так, как я хочу, но мне было просто интересно, есть ли более элегантные решения этой проблемы. Не чувствуйте себя ограниченным диалоговым подходом, я открыт для всех подходов, которые могут предложить лучшую альтернативу.
Приветствия, J
Это требование, чтобы пользовательский интерфейс был отключен во время загрузки, поэтому нет места для маневра. У меня уже есть уведомление, которое запускается, когда загрузка завершается асинхронно, мой вопрос - это лучший способ справиться с этой ситуацией. –
Просто прочитал интерфейсы IObserver/IObservable, они выглядят так, как будто они хорошо работают с тем, что я имею в виду. Благодаря! –
@JasonLarke не торопитесь, и проверьте видео, которое я связал. Оно того стоит. – Theraot