Как добавить индикатор выполнения с подсчетами при копировании файлов
Привет,
Моя задача-скопировать выбранные файлы формата (.tif, tiff, .jpg и .jpeg) из одного места в другое с помощью разработанного мной приложения.
Задача выполнена успешно, но нужно добавить индикатор выполнения, который должен показывать количество и процент файлов, скопированных в пункт назначения.
Ниже приведен код страницы:
Copying the files from one location to other with folder threshold if (!int.TryParse(textBox3.Text, out int thresholdValue) || thresholdValue < 1) { // TODO: Display an error message to the user return; } string source = textBox1.Text; string destination = textBox2.Text; int totalFileCount = 0; int currentSubFolder = 0; int remainingFileCount = 0; string destinationFolder = null; ISet<string> extensions = new HashSet<string>(StringComparer.OrdinalIgnoreCase) { ".tif", ".tiff", ".jpg", ".jpeg" }; IEnumerable<string> files = Directory .EnumerateFiles(source, "*", SearchOption.AllDirectories) .Where(f => extensions.Contains(Path.GetExtension(f))); foreach (string sourceFile in files) { if (remainingFileCount == 0) { // First file, or the sub-folder is full: currentSubFolder++; destinationFolder = Path.Combine(destination, currentSubFolder.ToString("D3")); if (!Directory.Exists(destinationFolder)) Directory.CreateDirectory(destinationFolder); remainingFileCount = thresholdValue; } string destinationFile = Path.Combine(destinationFolder, Path.GetFileName(sourceFile)); File.Copy(sourceFile, destinationFile); totalFileCount++; remainingFileCount--; } MessageBox.Show("All " + totalFileCount + " files are copied");
Что я уже пробовал:
я попытался добавить индикатор выполнения, взяв объект, но он все еще не работает.
Member 8010354
спасибо