Как отобразить отметки на индикаторе прогресса? - PullRequest
1 голос
/ 04 января 2009

Я загружаю коллекцию файлов, и я хотел бы отображать прогресс в индикаторе выполнения. Просто отобразить общий прогресс, установив максимальное значение индикатора выполнения равным общему размеру всех файлов, и установив текущую позицию равной размеру, загруженному до сих пор.

То, что я хотел бы сделать, это разделить индикатор выполнения на сегменты, где каждый раздел представляет отдельный файл в коллекции.

Возможно ли это? Как бы я это сделал?

Ответы [ 4 ]

3 голосов
/ 04 января 2009

Я думаю, что самым простым способом было бы создать UserControl, перетащить на него ProgressBar, переопределить OnPaint () UserControl и нарисовать линии.

Я думаю, что с UserControl было бы немного легче иметь дело, чем рисование прямо на форме. Координаты будут легче обрабатывать, а также будет проще использовать их в другом приложении.

0 голосов
/ 04 января 2009

Вы можете использовать два индикатора выполнения, один для каждого файла и один для общего количества. Или, если вы хотите пометить галочкой: простое решение - добавить несколько строк под или над этой полосой.

0 голосов
/ 04 января 2009

Установите максимальное значение равным 100. Затем для каждого загружаемого файла выполните 100 * (file_size / total_download_size) и сложите их вместе. Как только вы сложите их значения, установите значение индикатора выполнения. Обновляйте значение каждый раз, когда файл заканчивает загрузку.

0 голосов
/ 04 января 2009

Если вам известен общий размер загружаемых файлов и общий размер загруженных файлов, вы можете просто установить .Maximum для общего размера файлов и .Position для общего количества скачал пока. Не нужно беспокоиться о том, как размер делится между файлами.

Или вы имели в виду, что вы хотите, чтобы на индикаторе выполнения были метки, соответствующие размеру каждого файла?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...