Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Disk Size Explorer

0.00/5 (No votes)
29 Mar 2005 1  
Disk size explorer scans local disks and displays the size of each directory and subdirectory. Selecting a tree node will display the size in a pie chart. Users can drill through the explorer using the treeview or pie chart.

Introduction

DiskSize is a program to scan a local drive and display the results in a treeview and on a 3D pie chart. It uses only the .NET Framework and Windows API functions, no third party products.

After scanning your local drive, the results are both displayed and cached in an XML file. Refreshing the entire drive or a single subdirectory will result in updating the cache. Subsequent loads will load from the cache.

The Explorer interface provides drill down functionality using either the treeview or the pie chart. A context menu is displayed which allows rescanning, exploring and opening directories and drives. This application uses a string resource file so it can be easily internationalized.

Points of interest

Demonstrated in this application are the following:

  • Iterating through the file system and storing the results in XML.
  • Saving and loading XML.
  • Binding a TreeView to XML.
  • Creating a 3D Pie chart with pie slice highlighting and selection.
  • Custom sorting by implementing the IComparable interface.
  • Implementing a drop-down list in a toolbar.
  • Binding lists to custom name-value pairs.
  • Internationalizing an application.

Background

I've wanted an application like this for some time. It is very helpful if disk space is limited and you want to quickly find out where your disk space has gone. I find myself now cheating and using the pie chart to navigate around my machine and then selecting open when I am at the directory I am looking for.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here