I first built a C # Console Application. Then enter the following procedures: #region using Directives
Using system.collections.gener; using system.text; using system.windows .form; using system.componentmodel; using system.data; using system.drawing; using system.d;
#ndregion
namespace TreeViewDirectorys {public class TreeViewDirectoryStructureTest: System .Windows .Forms .Form {private System.Windows.Forms.TreeView directoryTreeView; private System.ComponentModel.Container components = null;
public TreeViewDirectoryStructureTest () {directoryTreeView = new TreeView (); directoryTreeView.Location = new System.Drawing.Point (16, 16); directoryTreeView.Name = "directorytreeview"; directoryTreeView.TabIndex = 0;
THIS.SUSPENDLAYOUT ();
This.autoscalebasesize = new system.drawing.size (3, 8); this.clientsize = new system .drawing .size (300, 300);
this.Controls.AddRange (new System.Windows.Forms.Control [] {this.directoryTreeView}); this.Name = "TreeViewDirectoryStructureTest"; this.Text = "TreeViewDirectoryStructureTest"; this.ResumeLayout (false);}
Protected Override Void Dispose (Bool Disposing) {if (disposing) {if (component! = null) {components.dispose ();}}
Base.dispose (Disposing); / * throw new notimplementException (); * /}
Static void main (string [] args) {Application.run (New TreeViewDirectoryStructureStructureTest ());
}
Public void PopulaTreeView (String DirectoryValue, Treenode Parentnode) {string [] DirectoryArray = Directory.getDirector (DirectoryValue);
try {if (directoryArray.Length = 0!) {foreach (string directory in directoryArray) {TreeNode myNode = new TreeNode (directory); parentNode.Nodes.Add (myNode); PopulateTreeView (directory, myNode);}}}
Catch (unauthorizedaccessException) {parentnode.nodes.add ("access denied");}}
private void TreeViewDirectoryStructureTest_Load (object sender, System.EventArgs e) {directoryTreeView.Nodes.Add ( "c: //"); PopulateTreeView ( "c: //", directoryTreeView.Nodes [0]);
}}} The environment I run is VS.NET2005 Beta.