The ItemProgression event is raised each time a FileSystemItem object is about to be processed by a method call, providing progression information to the handler.
Keep in mind that using the ItemProgression event increases the time it takes to process the files. The reason behind this is that the data will be scanned twice. The first time the files are scanned, information regarding the files will be accumulated ( filename, size, etc.. ). This is to allow accurate progress information to be returned during the second run.
The main purpose of the ItemProgression event is to provide feedback to the user during lengthy operations. For example, if we wanted to delete a folder and all it's sub-directories, the process could take a while and the application could appear to be frozen. To notify the user that the application is still in the process of completing the operation, you can update a progress bar in the event handler for the ItemProgression event.
To subscribe to the ItemProgression event, the following steps must be performed:
Create a reference to a FileSystemEvents object.
Subscribe to the ItemProgression event of the FileSystemEvents object using the ItemProgressionEventHandler delegate class.
Create a new method that will handle the events that are raised. For the purposes of this example, we will call the method OnItemProgression.
Place the desired code in the newly created event handler.
To subscribe to the ItemProgression event, the following steps must be performed:
Create a reference to a FileSystemEvents object using the WithEvents keyword.
Select the ItemProgression event from the list of available methods in the newly instantiated FileSystemEvents object. This is done in the same manner as, for example, adding the DoubleClick event of a ListBox.
You can also subscribe to the event using the AddHandler/AddressOf statement.
Place the desired code in the newly added event handler.
This example demonstrates how to delete a folder located on disk and display progress information during the operation.
VB.NET | Copy Code |
---|---|
|
C# | Copy Code |
---|---|
|