How to: Display File Operation's Progress via ProgressBarControl

  • 2 minutes to read

In the code fragment below, a DeleteFiles method removes all files contained within the directory specified by the source parameter. The ProgressBarControl is used to display the progress of file delete operations. The RepositoryItemProgressBar.Minimum and RepositoryItemProgressBar.Maximum properties are used to specify a range for the progress bar that is equivalent to the number of files to be removed. The code also uses the RepositoryItemProgressBar.Step property with the ProgressBarControl.PerformStep method, to increment the position of the progress bar as soon as a file is removed.

using System.IO;
using DevExpress.XtraEditors.Controls;
// ...
private void DeleteFiles(string source){
   if (Directory.Exists(source)){
      string[] fileEntries = Directory.GetFiles(source);
      // Initializing progress bar properties
      progressBarControl1.Properties.Step = 1;
      progressBarControl1.Properties.PercentView = true;
      progressBarControl1.Properties.Maximum = fileEntries.Length;
      progressBarControl1.Properties.Minimum = 0;
      // Removing the list of files found in the specified directory
      foreach(string fileName in fileEntries){
         File.Delete(fileName);
         progressBarControl1.PerformStep();
         progressBarControl1.Update();
      }
   }
}
// ...
DeleteFiles("d:\\Temp");