我首先建了个C#console application.然后输入以下程序:
#region Using directives
using System; using System.Collections.Generic; using System.Text; using System.Windows .Forms ; using System.ComponentModel; using System.Data ; using System.Drawing ; using System.IO ;
#endregion
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 (components != null) { components.Dispose(); } }
base.Dispose(disposing); /* throw new NotImplementedException();*/ }
static void Main(string[] args) { Application.Run(new TreeViewDirectoryStructureTest());
}
public void PopulateTreeView(string directoryValue, TreeNode parentNode) { string[] directoryArray = Directory.GetDirectories(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]);
} } }
我运行的环境是VS.net2005 beta. 
|