First of all you would define a class that implemented the IComparer(Of FileInfo) interface such that you could specify any property you wanted to compare by. You would then create an array or List of your FileInfo objects, bind it to a BindingSource and then bind that to your ListBox.
When ever you wanted to sort the data you'd create an instance of your class, set the property to compare by and then call the Sort method of the array or List, passing your IComparer as a parameter. That will sort the items in the desired order and you then call the ResetBindings method of the BindingSource to refresh the display.